home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-21 / dshell.zip / DSHELL.DOC < prev    next >
Text File  |  1992-02-06  |  140KB  |  3,961 lines

  1.  
  2.  
  3.                                DSHELL Version 4.0                               
  4.  
  5.  
  6.                     Copyright (C) D. G. Dempsey, 1991, 1992
  7.                                 All Rights Reserved
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64. Copyright 1991 (C) D. G. Dempsey                                          Page 1
  65.  
  66.  
  67.  
  68.  
  69.                                DSHELL Version 4.0                               
  70.  
  71.  
  72. Introduction to DSHELL
  73.  
  74. DSHELL consists of a command shell designed to run under DOS
  75. and DESQview(TM) and provide multi-tasking process control, an
  76. enhanced user interface and expanded script language
  77. capabilities.  The features provided by DSHELL include the
  78. following set.
  79.  
  80.         DSHELL provides a command line interface like DOS but with
  81.         capability of executing commands in automatically created
  82.         separate DESQview processes.  Commands can be internal commands
  83.         (built-in to DSHELL), DOS internal commands (built-in to DOS
  84.         command.com), executable files (.COM or .EXE programs), command
  85.         scripts (DOS .BAT or DSHELL's own .SHL files), or even DESQview
  86.         OPEN menu programs.  Commands can be executed in foreground (the
  87.         DSHELL command interpreter waits while you interact with the
  88.         running command) or background (the command interpreter
  89.         continues with your next command while the old command runs).
  90.  
  91.         DSHELL provides default Program Information Files (PIF) to run
  92.         most .EXE, .COM, and .BAT programs which usually eliminates the
  93.         need for the creation and maintenance of these descriptions. 
  94.         For specific cases where, either because of program, memory or
  95.         machine restrictions, the default PIF is not suitable, DSHELL
  96.         provides an easy mapping of particular programs to user
  97.         customized PIF files.
  98.  
  99.         Commands and programs run by DSHELL execute in a environment
  100.         like DOS, i.e., all current disk paths, command line, and
  101.         environment variables are provided to the newly started program
  102.         (unlike DESQview alone which starts programs in a preset
  103.         directory with default environment variables).  When a command
  104.         or program completes, its final exit code is available for both
  105.         foreground (like DOS) and background (via WAIT like UNIX)
  106.         programs.
  107.  
  108.         The piping of standard output from one command/program into the
  109.         standard input of the next command/program is supported (like
  110.         DOS  or UNIX).  Like UNIX, this data transport uses an
  111.         inter-process pipe (in memory) between two simultaneously
  112.         running processes.  This eliminates the disk performance and
  113.         space overhead often associated with DOS pipes (which are really
  114.         disk files).  Redirection of standard input and output to disk
  115.         files and other devices is also supported.
  116.  
  117.         Command line editing and management similar to recent versions
  118.         of the UNIX system is provided.  Besides providing extensive
  119.         intra-command line editing capabilities, previously entered
  120.         commands can be recalled, edited, and re-executed (commonly
  121.         referred to as command histories).  Aliases can be defined to
  122.         simplify the entry of complicated or less-than-memorable
  123.         commands.  Multiple commands can be entered on a single line.
  124.         Multiple command lines can be entered together for multi-line
  125.         commands such as FOR loops.
  126.  
  127.         In addition to the DOS style command line interface, a full
  128.  
  129.  
  130. Copyright 1991 (C) D. G. Dempsey                                          Page 2
  131.  
  132.  
  133.  
  134.  
  135.                                DSHELL Version 4.0                               
  136.  
  137.  
  138.         screen interface is provided with full mouse support.  This full
  139.         screen interface allows visual monitoring and rapid transversal
  140.         of directories.  File types (extensions) can be associated with
  141.         specific commands, allowing a program (such as a spread sheet or
  142.         text formatter) to be invoked merely by selecting its working
  143.         files with the mouse.  Direct access to the command line,
  144.         command history, and task switching are also provided in the
  145.         full screen interface.
  146.  
  147.         User definable menus are supported.  Menus can contain simple
  148.         commands with optional parameters.  Such menus are supported by
  149.         simple setup tools for their definitions.  Alternatively, using
  150.         DSHELL scripts, menus can be nested, have run time definable
  151.         contents, and vary as various options or activities are run. 
  152.         Menu operations are mouse or keyboard driven.  A menu selected
  153.         command can be any command sequence legal in DSHELL (subject to
  154.         some length limitations).
  155.  
  156.         Default menus are provided for common system functions,
  157.         including the copying, moving, and deleting of files and
  158.         subdirectories as well as related disk and file maintenance
  159.         operations. Files and subdirectories can be tagged and handled
  160.         as groups for those and other operations such as running a
  161.         program against a set of files.  Several forms for transversing
  162.         disk directories, including a directory tree, are provided.
  163.  
  164.         Default menus are also provided for DSHELL maintenance
  165.         operations, such as maintenance of the PROFILE.SHL file (the
  166.         DSHELL equivalent of autoexec.bat).  These operations include
  167.         defining default commands for specific file extensions, simple
  168.         menu creation, alias definitions, environment variable and
  169.         DSHELL display and operations options.
  170.         
  171.         Available internal commands include an extensive set of internal
  172.         commands similar to those provided in a UNIX system (such as LS,
  173.         LF, CAT, CP, RM, PWD, TEST and EXPR). Commands can include
  174.         references to environment variables and embedded commands (the
  175.         output of one command can be part of the text of another).  Full
  176.         support for the DOS PATH command searching is provided as well
  177.         as the ability to invoke external and script commands located in
  178.         other disk directories.
  179.         
  180.         A script language (using files with a .SHL extension) is
  181.         provided.  The language includes the UNIX style conditional
  182.         commands (IF - THEN - ELSE - FI and SWITCH - CASE - ENDSWITCH)
  183.         and looping constructs (FOR - BREAK - DONE).  Scripts can have
  184.         parameters and can be nested (can have another DSHELL script as
  185.         a command).  By using the TEST and EXPR commands, scripts can
  186.         perform extensive conditional testing, string test and
  187.         manipulation, and arithmetic operations.  Using scripts, such
  188.         functions as printer spoolers, printer formatters and file
  189.         archivers can be constructed. Scripts can also be used to expand
  190.         existing commands (such as expand an editor to sequentially edit
  191.         a list of files instead of one file at a time).  DOS .BAT
  192.         scripts are also supported.
  193.         
  194.  
  195.  
  196. Copyright 1991 (C) D. G. Dempsey                                          Page 3
  197.  
  198.  
  199.  
  200.  
  201.                                DSHELL Version 4.0                               
  202.  
  203.  
  204.         Process control for various DESQview specific operations is
  205.         provided through additional internal DSHELL commands.  Using
  206.         these commands, a process can control its screen display window,
  207.         move between foreground and background, send and receive
  208.         inter-process ASCII mail messages, and schedule activities and
  209.         commands at specific times or after specific delays.  Commands
  210.         are also provided to acquire and release control of user defined
  211.         common resources (thus preventing two processes from attempted
  212.         to simultaneously use an unsharable resource such as a common
  213.         file or device).  A DSHELL process can also move its child
  214.         processes (those it created) between foreground and background,
  215.         set their initial screen windows, and send keystrokes to them
  216.         (as if the keystrokes had been entered from the keyboard).
  217.  
  218.         DSHELL commands may be issued from DOS programs, including
  219.         COMMAND.COM and DOSSHELL, which allow execution of external
  220.         programs.
  221.  
  222.         As an example of DSHELL's scripting capabilities, a printer
  223.         spooler application is included.  The spooler allows three
  224.         levels of job priority, selection of multiple printers, optional
  225.         printer format control and queue maintenance.  Spooler
  226.         operations can be invoked from the command line or from menus.
  227.  
  228. The operations supported by DSHELL are in addition to those
  229. already supported by DOS and DESQview.  All DOS and DESQview
  230. operations, including commands and menus, remain available when
  231. DSHELL is installed.
  232.     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  233.     +DOS refers to MSDOS, a trademark of Microsoft Corporation, and +
  234.     +PCDOS, a trademark  of International Business Machines         +
  235.     +Corporation, and refers to versions 3.0 and later.             +
  236.     +                                                               +
  237.     +DESQview (Trademark of Quarterdeck Office Systems) refers to   +
  238.     +DESQview Versions 2.3 and later.                               +
  239.     +                                                               +
  240.     +UNIX (Trademark of AT&T Bell Laboratories).                    +
  241.     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262. Copyright 1991 (C) D. G. Dempsey                                          Page 4
  263.  
  264.  
  265.  
  266.  
  267.                                DSHELL Version 4.0                               
  268.  
  269.  
  270. About This Manual
  271.  
  272. The following sections describe the operation, setup, commands,
  273. and files necessary for the operation of the DSHELL programs.
  274. Depending on your level of use, DSHELL can vary from relatively
  275. user friendly (more friendly than DOS?) to a level of complexity
  276. that rivals the UNIX shells after which it is modelled.
  277.  
  278. This file is a shortened form of the actual DSHELL operations
  279. manual.  In the interest of saving bulletin board resources, some
  280. sections of the actual manual have been omitted that are not
  281. absolutely essential to an evaluation of DSHELL.  Most of the
  282. omitted sections involve more detailed descriptions of the
  283. numerous DSHELL internal commands and formats and will not
  284. generally be needed outside of scripts and more sophisticated
  285. operations.
  286.  
  287. Throughout this manual, the following typographical conventions
  288. have been observed.  Commands and parameters are indicated such
  289. as
  290.  
  291. copy file1 file2
  292.  
  293. to identify commands and their components.  Text which is meant
  294. for additional information but not necessary essential for the
  295. casual user is denoted by
  296. +---------------------------------------------------------------+
  297. |This line has limited use or interest.                         |
  298. +---------------------------------------------------------------+
  299. and you can skip it (at your risk of course) if you are doing
  300. only normal things.  In cases where a particular keystroke is
  301. significant, the keystroke is shown in bold like F1.  For
  302. keystrokes which require holding the CTRL, ALT or SHIFT down
  303. while pressing another key, the required action is shown as
  304. ALT-A.
  305.  
  306. For operations involving a mouse, DSHELL uses only the left and
  307. right mouse buttons.  If you have a three button mouse, or press
  308. both buttons of a two button mouse, DESQview menus are invoked
  309. in the normal way.  Within DSHELL, the right mouse button,
  310. denoted as SELECT, is used to select an item (copying its name
  311. or meaning to the command line) but not execute it.  The left
  312. mouse button, denoted as EXECUTE, is used to simultaneously
  313. select and execute an item.  Either button is acceptable for
  314. operations which have no command significance, such as changing
  315. the display mode or dropping down a menu.  If you wish, you can
  316. redefine the mapping of these buttons using either the DESQview
  317. SETUP program or the DSHELL BUTTON command.  If you do not have
  318. a mouse, most DSHELL operations are equally accessible from the
  319. keyboard.  The few exceptions can be accessed using the DESQview
  320. keyboard mouse simulator.
  321.  
  322. Some DSHELL features, such as disk format menus, are DOS version
  323. or machine specific.  The examples given in this manual are
  324. generally what you will see on the display but some variation
  325. may occur in some situations.
  326.  
  327.  
  328. Copyright 1991 (C) D. G. Dempsey                                          Page 5
  329.  
  330.  
  331.  
  332.  
  333.                                DSHELL Version 4.0                               
  334.  
  335.  
  336.  
  337. If you are just interested in giving DSHELL a spin (or are real
  338. familiar with DOS, DESQview and UNIX and don't mind an
  339. occasional miscue in command formats), you can takeoff with the
  340. section Installing DSHELL, followed by the Quick Start Tutorial
  341. section, and use the remainder of the manual as a reference
  342. (especially the section on Command Line Editing).
  343.  
  344. More serious and less experienced users should be prepared to go
  345. through the whole manual, perhaps initially skipping the
  346. sections on Inter-Process Communications, DSHELL Startup,
  347. Tracking Processes, and Controlling the DESQview Process
  348. Environment.
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Copyright 1991 (C) D. G. Dempsey                                          Page 6
  395.  
  396.  
  397.  
  398.  
  399.                                DSHELL Version 4.0                               
  400.  
  401.  
  402. Installing DSHELL
  403.  
  404. To install DSHELL, you must insure your system is configured and
  405. equipped to support DSHELL.  Once this has been done, the actual
  406. installation is done by the INSTALL program and is highly
  407. automated and pretty simple.
  408.  
  409. System Requirements
  410.  
  411. The following configuration is mandatory for using DSHELL.
  412.  
  413. 1.      A PC which is 100% PC-compatible.  If it has trouble running
  414.         DESQview, it will have trouble running DSHELL under DESQview. 
  415.         DSHELL, like DESQview, is best suited to 386 style (or
  416.         equivalent) machines but, provided other requirements are met,
  417.         does not require those processors.  One area that is sensitive
  418.         to processor is performance.  Operations that take a couple of
  419.         seconds on faster processors can require a minute (or longer!)
  420.         on more vintage machines.
  421.         
  422. 2.      DOS Version 3.0 or later is required.  The package has been used
  423.         with versions 3.0-3.3 and 5.0.
  424.         
  425. 3.      DESQview Version 2.3 or later.  The package is not compatible
  426.         with earlier versions of DESQview. DESQview 386 is recommended.
  427.         
  428. 4.      DESQview Common Memory must have at least 10K free bytes of
  429.         space.  Installation will check for this amount and notify you
  430.         if it is not sufficient.  This memory is required to allow
  431.         sufficient concurrent processes for typical operations and
  432.         installation to run.  You can fine tune this after installation
  433.         if you desire less but running out of Common Memory is usually
  434.         fatal in DESQview and DSHELL. If you do not have enough, you can
  435.         increase it by running the DESQview SETUP program (it can be run
  436.         from with DESQview but you must restart DESQview for the changes
  437.         to be effective).  DESQview LEARN must also be enabled.
  438.         
  439. 5.      A hard disk drive with the DESQview package installed.  The
  440.         package requires about 0.5-0.7M of disk space.  It is not necessary
  441.         the DSHELL and DESQview packages be on the same hard disk
  442.         although the DSHELL installation will pick that default unless
  443.         you specify otherwise.
  444.         
  445. 6.      DESQview compatible EMS memory (LIM-EMS 4.0) of at least 1.0
  446.         megabytes is required.  Note that this is the type of expanded
  447.         memory which allows DESQview to run processes in it (not just
  448.         swap to it).  Quarterdeck Office System's QEMM-386 is suitable. 
  449.         DSHELL installation will test your expanded memory manager for
  450.         functional compatibility during the installation process.  The
  451.         memory manager should be setup with at least 32 free handles    
  452.         and named handles.  The default installation for QEMM-386 is   
  453.         suitable as is the default installation for MicroSoft's DOS 5.0
  454.         expanded memory manager.  The 64K page frame must also be present
  455.         and may be located anywhere in high memory (above 640K).       
  456.                                                                        
  457.         
  458.  
  459.  
  460. Copyright 1991 (C) D. G. Dempsey                                          Page 7
  461.  
  462.  
  463.  
  464.  
  465.                                DSHELL Version 4.0                               
  466.  
  467.  
  468. 7.      The conventional memory should be 640K with at least 320K
  469.         available for a DESQview process.  Again, more is better.
  470.         
  471. 8.      For installation only, you must have a DESQview DOS 128K (or
  472.         larger) process (typically referred to as D1 on the DESQview
  473.         OPEN menu) available.  If you wish, you can delete this entry
  474.         from the DESQview OPEN menu after installation.
  475.         
  476. 9.      An 80 column by 25 row (or larger) display is required.  Color
  477.         is highly desirable but not essential.
  478.         
  479. 10.     A mouse or its equivalent is recommended.  A few DSHELL
  480.         operations (like selecting a file from a screen directory
  481.         display) require a mouse.  If you wish to perform such
  482.         operations, the DESQview keyboard mouse can be temporarily
  483.         turned on as a substitute.
  484.         
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492. The best choice is probably a 80386 or similar machine running
  493. with QEMM as this will maximize DESQview's ability to perform
  494. multitasking.  However, other hardware and EMS platforms are
  495. acceptable provided the DESQview and EMS 4.0 compatibility is
  496. met.  From a performance viewpoint, the DSHELL package makes
  497. extensive use of multitasking under DESQview.  Therefore, the
  498. bigger and faster the system the better.
  499.  
  500. Performing the DSHELL Installation
  501.  
  502. To install DSHELL you must run the INSTALL program.  The INSTALL
  503. program will verify your system is suitably configured to
  504. support DSHELL, unpack and load the DSHELL system onto your hard
  505. disk, install DSHELL in DESQview, and build the startup script
  506. PROFILE.SHL.  The INSTALL program offers the option of either
  507. having it do all the work (you only answer a few questions and
  508. watch) or letting you do more of the work manually.  Unless you
  509. have problems with the installation (perhaps because your system
  510. configuration is very unusual) or like to do things the hard
  511. way, letting INSTALL do all the work is strongly recommended.
  512.  
  513. Except for the DSHELL directory and the DESQview OPEN menu
  514. selection for DSHELL, most installation user selectable
  515. parameters can be changed later by the DSHELL Change Profile
  516. menus so your selection of installation parameters is not
  517. critical.  When in doubt, the default is probably best.
  518.  
  519. If you are installing a updated version of DSHELL, the
  520. installation will detect that fact and preserve your old
  521. PROFILE.SHL (provided you install in the same disk directory).
  522. However, if you have modified any of the standard .SHL scripts
  523. supplied with DSHELL, you should back them up before the
  524.  
  525.  
  526. Copyright 1991 (C) D. G. Dempsey                                          Page 8
  527.  
  528.  
  529.  
  530.  
  531.                                DSHELL Version 4.0                               
  532.  
  533.  
  534. installation as they will be overwritten with the new versions.
  535.  
  536. To install DSHELL, perform the following steps.
  537.  
  538. 1.      If you are installing DSHELL from a floppy disk, make a archival
  539.         copy of the floppy disk.  Unlike some packages, DSHELL
  540.         installation does not attempt to write to the diskette but a
  541.         backup is always a good idea.
  542.         
  543. 2.      Determine the hard disk drive and subdirectory (not a root
  544.         directory) where you wish DSHELL to be installed.  If you do not
  545.         specify one, the INSTALL program will create and use the
  546.         directory \DSHELL on the same drive as DESQview (typically drive
  547.         C:).  If you do choose a different directory for DSHELL, it
  548.         cannot be the same directory as DESQview and its name, including
  549.         any prefixed path, must be less than 26 characters.
  550.         
  551. 3.      Bring up the DESQview package.
  552.         
  553. 4.      If necessary, you should terminate any other processes running
  554.         in DESQview.  With the exception of any old DSHELL processes
  555.         from an earlier DSHELL version, this step is not essential but
  556.         it avoids the risk of unusual interactions or unusual resource
  557.         shortages.
  558.         
  559. 5.      Open a 128K (or larger) DOS window.  Typically this is done by
  560.         going to the DESQview OPEN menu and selecting the D1 entry.
  561.         
  562. 6.      Within the DOS window, change to the drive and directory which
  563.         contains the DSHELL installation program and files.  If you are
  564.         installing from a floppy disk, this is probably the drive A:
  565.         root directory.  If you are installing the bulletin board
  566.         download version, this should be the drive and directory that
  567.         contains the unpacked INSTALL.EXE and DSHELL.LDF files.
  568.         
  569. 7.      Within the DOS window enter the command
  570.         
  571.         install
  572.         
  573.         to begin the installation.
  574.         
  575. 8.      At this point the install program will take over, asking for
  576.         verification and information as required.  Assuming no system
  577.         deficiencies or problems are uncovered, after 2-5 minutes the
  578.         basic DSHELL files will be installed and a DSHELL process will
  579.         present a menu of installation activities, offer a recommended
  580.         selection (probably 1(new installation) or 2(updating a previous
  581.         installation)), and wait for your selection.  Enter your
  582.         selection (the recommended is best) and answer any resulting
  583.         questions.
  584.         
  585. 9.      Installation will normally ask three basic questions: (1) what
  586.         screen color format do you wish (use default if you have a color
  587.         monitor, DESQview option otherwise), (2) what directory do you
  588.         wish to start in when DSHELL starts up (C:\ is usual choice),
  589.         and (3) what is your default choice for an editor (edlin or edit
  590.  
  591.  
  592. Copyright 1991 (C) D. G. Dempsey                                          Page 9
  593.  
  594.  
  595.  
  596.  
  597.                                DSHELL Version 4.0                               
  598.  
  599.  
  600.         unless you specify otherwise).  All these choices can be changed
  601.         later so, if you are not sure, leave the default.
  602.         
  603. 10.     At the end of the installation, the option of bringing up DSHELL
  604.         automatically on DESQview startup will normally be offered.  If
  605.         you select this option, DSHELL will automatically be started and
  606.         be ready for your use whenever you start DESQview.  If you
  607.         decline this option you will have to start DSHELL from the
  608.         DESQview OPEN menu.  If you do decline and wish to add the
  609.         automatic startup later, you can do so by copying the file
  610.         STARTUP.DVS from the DSHELL directory to the filename
  611.         DESQVIEW.DVS in the DESQview directory.
  612.  
  613. At this point, the installation is complete.  As you progress
  614. with DSHELL, you will probably want to add to the startup script
  615. PROFILE.SHL which was built during this installation.  While you
  616. can do this with any text editor, it is best to use the provided
  617. menus and tools as they will help insure the format and allow
  618. mapping of your changes should you upgrade DSHELL in the future.
  619.  
  620. If you encountered problems in the installation, first follow
  621. the information given by the INSTALL package to see if you can
  622. resolve the problem at that point.  Then rerun the installation
  623. program.  See also the sections on Common Questions and License
  624. Agreement and Support if necessary.
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658. Copyright 1991 (C) D. G. Dempsey                                         Page 10
  659.  
  660.  
  661.  
  662.  
  663.                                DSHELL Version 4.0                               
  664.  
  665.  
  666. DSHELL Tutorial
  667.  
  668. This tutorial is intended to provide a quick introduction to the
  669. operation of DSHELL.  It assumes you are familiar with DOS
  670. COMMAND.COM (and/or a UNIX style shell), basic DESQview
  671. operations (like task startup and switching), and have gone
  672. through the sections About The Manual and Installing DSHELL. 
  673. Areas covered in the tutorial include using the supplied default
  674. menus, executing programs in foreground and background, 
  675. spooling print jobs, defining default commands for particular
  676. file extensions, and defining simple menus.
  677.  
  678. The tutorial does not cover more advanced operations (like
  679. creating your own scripts or more sophisticated menus). Aspects
  680. of those areas are covered in the other sections of the manual
  681. and by example in the supplied default menus and scripts.  The
  682. tutorial assumes you installed DSHELL with the default options. 
  683. If you did not, you may have to make suitable adjustments as you
  684. go.
  685.  
  686. For the tutorial, it is necessary to have a executable program
  687. (besides DSHELL!) to run.  The tutorial uses Borland
  688. International's Quattro Pro, a popular spreadsheet program, as
  689. an example but you can substitute any similar DOS program if you
  690. don't have Quattro Pro.  The program you select should be
  691. interactive (i.e., it does not run to completion in the flash of
  692. an eye) and have data files with a particular default extension
  693. (like .WQ1 for the Quattro Pro example).  The latter is
  694. necessary to demonstrate the association of a particular command
  695. with a particular data file type.  Most any word processor or
  696. spreadsheet program that runs under DOS should be okay.
  697.  
  698. To do the tutorial, you must have installed DSHELL (See the
  699. INSTALLATION section) and be running DESQview and DSHELL as you
  700. go through the tutorial.  If you came here from the installation
  701. process, you are all set.  Otherwise, start DESQview and DSHELL
  702. (the latter may be automatic or, if you did not select the
  703. autoload option, from the DESQview OPEN menu).  The tutorial
  704. assumes a color display -- if you have a black & white display,
  705. the colors will be mapped by DESQview into varying display
  706. formats (light, bright, reverse video, etc.).
  707.  
  708. Managing the DSHELL Screen Display
  709.  
  710. DSHELL has two screen display modes: (1) normal (also called
  711. command line) mode which looks much like the normal DOS display
  712. (the dreaded C> prompt) and (2) full screen mode (what you are
  713. probably looking at when DSHELL first comes up).  When you are
  714. entering commands, you can switch between the modes by pressing
  715. F9 or clicking the mouse (on the 25th line in full screen mode
  716. or anywhere in the DSHELL window in normal mode).
  717.  
  718. Normal Mode
  719.  
  720. In normal mode, you type commands and, as they execute, the
  721. previous commands (and perhaps their output) appears in the
  722.  
  723.  
  724. Copyright 1991 (C) D. G. Dempsey                                         Page 11
  725.  
  726.  
  727.  
  728.  
  729.                                DSHELL Version 4.0                               
  730.  
  731.  
  732. window above your current command line.  In both modes, the 25th
  733. line, if visible, displays the current date/time/directory (the
  734. directory is probably C:/ at this time).  Pressing F10 displays
  735. the DESQview SWITCH menu allowing you to switch quickly to other
  736. processes.  You can exit the SWITCH menu also by pressing ESC
  737. ESC.  The F10 key works anytime, even during the execution of a
  738. command.
  739.  
  740. Full Screen Mode
  741.  
  742. In full screen mode, the top line displays the menu bar showing
  743. your menus (only SYSTEM, the default menu is defined unless you
  744. define additional menus of your own) and other options.  The
  745. next 23 lines display the current directory (normal files in
  746. green, directories in yellow, special files in other colors) or
  747. command history.  F8 or clicking Hist/Dir on the menu bar
  748. toggles between the directory/history displays.  Pressing F10 or
  749. clicking the Tasks field on the menu bar displays the DESQview
  750. SWITCH menu to facilitate switching between different processes
  751. (the parent DSHELL process is probably the only one running so
  752. its a short list at this point).  The 24th line is your command
  753. line in full screen mode -- you can type a command here just as
  754. you would in normal mode.  The 25th line displays the current
  755. date and default drive/disk directory.
  756.  
  757. We will return to the various screen displays later, but first,
  758. let's look at executing programs under DSHELL.  For now, type F9
  759. until you see the normal (DOS-like) screen display.
  760.  
  761. Running Under DESQview/DSHELL Versus Running Under DOS
  762.  
  763. Aside from TSRs, when you run a program under DOS only that
  764. program runs and is available to you.  You cannot start or
  765. interact with other programs until the first program completes
  766. and the DOS prompt returns.  DOS runs one program at a time and
  767. that program has the whole machine -- even if the program only
  768. uses a small portion of memory or other machine resources.
  769.  
  770. DESQview allows you to run many programs at the same time.  It
  771. does this by creating a set of virtual machines, each with its
  772. own video display (a window), memory and other portions of your
  773. computer's resources.  It is easiest to think of these different
  774. programs as a stack of windows where each window represents the
  775. video display (and other resources) for that particular program.
  776.  Although each of the programs continues to run, you can
  777. interact with only the program whose window is topmost on the
  778. stack of windows -- only that program is allowed to receive
  779. keystrokes from the keyboard or clicks from the mouse.  Using
  780. the DESQview SWITCH menu, you can change which program window is
  781. topmost, allowing you to move among the programs and interact
  782. with different ones as necessary.  The topmost window and
  783. program is called the foreground program (or process or task or
  784. window), the others are called background programs (or processes
  785. or tasks or windows).  The foreground window, unless it is full
  786. screen, is enclosed by DESQview with a double frame to make its
  787. identification more obvious.
  788.  
  789.  
  790. Copyright 1991 (C) D. G. Dempsey                                         Page 12
  791.  
  792.  
  793.  
  794.  
  795.                                DSHELL Version 4.0                               
  796.  
  797.  
  798.  
  799. With DESQview, you can create new windows (i.e., run new
  800. programs) by launching a program from the DESQview OPEN menu. 
  801. Each program so started is independent of other programs, that
  802. is to say there is normally no interaction between the different
  803. windows.  For example, you cannot pipe the output from one
  804. program window to another (except manually).  While you can run
  805. programs independently, you are limited to doing such with
  806. programs defined on the DESQview OPEN menu.
  807.  
  808. With DSHELL, you can start and run programs just like DOS but
  809. these programs will run in separate windows just like the
  810. programs you launch from the DESQview OPEN menu.  The programs
  811. can interact -- for example, the output of one command (window)
  812. can be piped to the input of another window, or the actions in a
  813. script of commands can depend on the completion (or completion
  814. exit code) or other windows (programs).
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856. Copyright 1991 (C) D. G. Dempsey                                         Page 13
  857.  
  858.  
  859.  
  860.  
  861.                                DSHELL Version 4.0                               
  862.  
  863.  
  864. Entering and Executing Commands
  865.  
  866. Like DOS, to enter a command in DSHELL, you simply type it on
  867. the command line and press ENTER.  However, because DSHELL
  868. operates in a multitasking system, where each task (process) has
  869. its own virtual display (called a window), there are some
  870. differences.
  871. +----------------------------------------------------------------+
  872. |To edit a DSHELL command line:                                  |
  873. |HOME and END move your cursor to the beginning or end of the    |
  874. |       command line.                                            |
  875. |LEFT and RIGHT ARROW move your cursor along the command line.   |
  876. |BKSP deletes the character before the current cursor position.  |
  877. |DEL deletes the character at the current cursor position.       |
  878. |CNTRL K deletes from the current cursor position to the end of  |
  879. |       the line if you are not at the end of the line.          |
  880. |CNTRL K deletes the line if your cursor is at the end of the    |
  881. |       line.                                                    |
  882. |UP ARROW recalls previous command lines (DOWN ARROW is reverse).|
  883. +----------------------------------------------------------------+
  884.  
  885. In DOS, when you enter a command at the DOS prompt, the command
  886. (usually a separate program unless it is a DOS internal command
  887. like cd or mkdir) runs and you cannot enter another command
  888. until the first one completes.  In DSHELL, this is the default
  889. behavior but you have other choices:
  890.  
  891. 1.      You can get the same behavior as DOS - simply type the command
  892.         as you would in DOS.  The command runs as you watch -- DSHELL
  893.         waits (in a background window if necessary) for the command to
  894.         complete.
  895.         
  896.         You would use this choice when you want to run a series of
  897.         commands which depend on each completing before the next begins.
  898.          An example would be formatting a floppy disk (the format
  899.         command) followed by copying some files to the floppy disk (the
  900.         copy command).  In this case, you might enter
  901.         
  902.         format a:
  903.         copy *.* a:
  904.         
  905.         as an example.
  906.         +-------------------------------------------------------------+
  907.         |Note:  Sometimes you start a command this way and then decide|
  908.         |you wish to continue on with DSHELL and let the command go on|
  909.         |running.  You can end DSHELL's wait by going to the DSHELL   |
  910.         |window and pressing CNTRL-C.  DSHELL will abort the wait for |
  911.         |the command to finish, but not the command (unless the       |
  912.         |command was an internal DSHELL command like cp or ffind).    |
  913.         +-------------------------------------------------------------+
  914.         
  915. 2.      You can have the command execute in background while DSHELL
  916.         returns immediately to you for additional commands.  The command
  917.         you entered will be running in the background (i.e., in a
  918.         display window behind the DSHELL display window).  If you want
  919.         to interact with the command (program), you must move it to
  920.  
  921.  
  922. Copyright 1991 (C) D. G. Dempsey                                         Page 14
  923.  
  924.  
  925.  
  926.  
  927.                                DSHELL Version 4.0                               
  928.  
  929.  
  930.         foreground using the DESQview SWITCH menu (F10 key).  You get
  931.         this behavior by following the command with the string " &" (a
  932.         space followed by the ampersand).
  933.         
  934.         You would use this choice when you want to run a program but do
  935.         not want to watch it run, interact with it, or wait for the
  936.         results.  For example, if the diskette was already formatted,
  937.         and you would like the copy to proceed but don't really want to
  938.         watch and wait for it.  In this case, you would enter
  939.         
  940.         copy *.* a: &
  941.         
  942.         for this example.  While the copy continues in the background,
  943.        +--------------------------------------------------------------+
  944.        |This assumes your program can run in background under DESQview|
  945.        |-- if it cannot, it will be suspended (stopped) until you move|
  946.        |it to be the foreground (most visible) window.                |
  947.        +--------------------------------------------------------------+
  948.         you can continue to do other things with new commands.  Of
  949.         course, none of the new commands should depend on the copy
  950.         having completed (like deleting the files you wanted copied!)
  951.         until you are sure the copy has completed. 
  952.         
  953. 3.      You can have the command execute in foreground, but have DSHELL
  954.         wait in background for you to enter another command when you
  955.         have temporarily finished with the initial command.  An example
  956.         would be using the format command to start formatting a
  957.         diskette, then going back to the DSHELL window to do some other
  958.         things while the format completes.  While you could do this with
  959.         the previous background execution option and the DESQview SWITCH
  960.         menu, you can do it more directly by appending the string " &
  961.         fore" to the format command:
  962.         
  963.         format a: & fore
  964.         
  965.         which is really two commands (the first, through the ampersand,
  966.         starts the format program in background, and the second, fore,
  967.         tells DSHELL to make the last process started the foreground
  968.         window).
  969.         
  970.         You probably also use this third form for any programs you wish
  971.         to start and keep around for your computing session (like a
  972.         spreadsheet, database or perhaps word processor or multifile
  973.         editor).
  974.  
  975. With any of these forms, you can redirect standard input and
  976. output to/from files or other devices.  For example, to redirect
  977. the output listing of the files in the current directory to file
  978. in background, you would type
  979.  
  980. dir >file &
  981.  
  982. (note that the redirection must appear before the ampersand --
  983. the ampersand marks the end of the entire dir command).
  984.  
  985. You can redirect output from one program window to another using
  986.  
  987.  
  988. Copyright 1991 (C) D. G. Dempsey                                         Page 15
  989.  
  990.  
  991.  
  992.  
  993.                                DSHELL Version 4.0                               
  994.  
  995.  
  996. a pipe much as you would in DOS.  For example, to list the
  997. current directory, sort it (more or less!), and then display it
  998. in a paged format in a background window for future reference,
  999. type
  1000.  
  1001. dir | sort | more &
  1002.  
  1003. which kicks off three processes and shuffles the data between
  1004. them as they run.  Note the use of the more program -- without
  1005. it, the output of the sort would be written to the sort
  1006. program's window which would be closed and disappear as soon as
  1007. the sort was completed.  More, because it waits for
  1008. +-----------------------------------------------------------------+
  1009. |Actually, this is the DSHELL version of more, which offers       |
  1010. |several enhancements over its DOS counterpart -- like moving     |
  1011. |backward as well as forward in the display and handling lines up |
  1012. |to 500 characters in length.  You can terminate it by pressing   |
  1013. |F9 or, like DOS more, simple press ENTER repeatedly.             |
  1014. +-----------------------------------------------------------------+
  1015. confirmation even on a short list, insures you will have
  1016. something to look at when you finally want to look.
  1017.  
  1018. Sometimes, it is convenient to see the output of a command in
  1019. the DSHELL window.  For internal DSHELL commands (like ls, the
  1020. DSHELL equivalent of the DOS dir command), you just type the
  1021. command, like
  1022.  
  1023. ls
  1024.  
  1025. which runs in the current DSHELL process and produces a list of
  1026. the files in the current directory.  For external (other
  1027. programs), however, the output would be to that program's
  1028. DESQview window.  For example, typing
  1029.  
  1030. dir
  1031.  
  1032. produces the directory listing as desired, but, since dir is a
  1033. separate program as far as DSHELL is concerned, the output
  1034. vanishes with the dir window as soon as the command finishes. 
  1035. To make the input appear in the DSHELL window, you must pipe the
  1036. output into the DSHELL window by entering
  1037.  
  1038. dir | cat
  1039.  
  1040. where cat is an internal DSHELL command that takes its standard
  1041. input (the pipe from dir in this case) and copies it to its
  1042. standard output (the DSHELL window in this case).
  1043.  
  1044. You can have as many programs running simultaneously as your
  1045. computer's memory and related resources allow (and you can keep
  1046. straight!).  You can even kick off additional DSHELLs (the
  1047. command is sh, no ampersand or fore required).  Indeed, because
  1048. switching between programs (windows) with the DESQview SWITCH
  1049. menu is usually far faster than starting up larger programs
  1050. (like spreadsheets, database managers, and word processors), it
  1051. is usually faster to kick off those programs once and just
  1052.  
  1053.  
  1054. Copyright 1991 (C) D. G. Dempsey                                         Page 16
  1055.  
  1056.  
  1057.  
  1058.  
  1059.                                DSHELL Version 4.0                               
  1060.  
  1061.  
  1062. switch between them as necessary.
  1063.  
  1064. Note that DSHELL will run most anything in separate windows --
  1065. other programs, .BAT scripts, .SHL scripts, even internal DSHELL
  1066. commands (when followed by an ampersand or pipe).  About the
  1067. only commands that you probably should never run in separate
  1068. windows (i.e., follow with an ampersand or pipe) are those
  1069. internal DSHELL commands that directly affect the current DSHELL
  1070. environment, like cd (changes the current default drive and/or
  1071. directory for the current DSHELL) and fore (moves windows
  1072. relative to the current DSHELL process).
  1073.  
  1074. With the exceptions of TSRs (start them from a .BAT file) and
  1075. special programs requiring a DESQview loader (like Microsoft
  1076. Windows in protected mode -- execute their DESQview .DVP file),
  1077. most any program (command) legal in DOS is legal in DSHELL.  By
  1078. default, each program is started in a virtual machine (window)
  1079. having maximum memory, a full screen display (text and
  1080. graphics), and two serial ports -- that should be suitable for
  1081. just about any program.  See the section on Controlling the
  1082. Process Environment for and how to handle problem cases (or
  1083. non-386 processor systems).
  1084.  
  1085. Assuming you have done the examples, your screen, in normal
  1086. mode, displays the commands and some output from those commands.
  1087.  By pressing F9, you can toggle between normal and full screen
  1088. mode -- note that the normal display and associated output
  1089. returns.  You could have just as easily done this last exercise
  1090. in full screen mode (the 24th line is the command line) but the
  1091. output and previous commands would only be visible as the
  1092. commands execute or when you toggle back to the normal display.
  1093.  
  1094. Using Full Screen Mode
  1095.  
  1096. Press F9 until you have the full screen display.  In this
  1097. section, you will see how you can "execute" directories and
  1098. files with a mouse (in full screen mode) and use the DSHELL
  1099. predefined menus.
  1100.  
  1101. Executing Files and Directories with a Mouse
  1102.  
  1103. In full screen mode, with the directory display (press F8 to
  1104. alternate between the history and directory displays in full
  1105. screen mode), you can "execute" any file or directory by
  1106. pointing to its name with the mouse and clicking the left
  1107. (called EXECUTE) mouse button.
  1108.  
  1109. If the name is a executable file (a .COM, .EXE, .BAT or .SHL
  1110. file), that action is equivalent to typing the filename (with
  1111. extension) on the command line and pressing ENTER -- the program
  1112. runs in a foreground window while DSHELL waits for its
  1113. completion.
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120. Copyright 1991 (C) D. G. Dempsey                                         Page 17
  1121.  
  1122.  
  1123.  
  1124.  
  1125.                                DSHELL Version 4.0                               
  1126.  
  1127.  
  1128. If the name is a subdirectory name (or ".." which is the parent
  1129. directory of the current directory), the action is equivalent to
  1130. the command
  1131.  
  1132. cd name
  1133.  
  1134. which simply means that directory becomes your new current
  1135. default directory.  This provides a fast means of transversing
  1136. the disk directories and viewing their contents.
  1137.  
  1138. If the name is neither of the above, and its extension has been
  1139. associated with a "default" command, that default command,
  1140. probably using the file name as an argument, is executed.  How
  1141. you associate extensions with commands will be discussed later.
  1142.  
  1143. If none of the previous three cases apply, DSHELL will invoke
  1144. your editor via the command
  1145.  
  1146. edit name
  1147.  
  1148. (edit is an alias for your editor's actual name) to edit "name".
  1149.  
  1150. If you do not have a mouse, you can still perform these
  1151. operations using the DESQview keyboard mouse (see the DESQview
  1152. manual for details).  Note that any previous text on the command
  1153. line before you pressed the EXECUTE button is cleared and
  1154. remember that you must click the EXECUTE (left) mouse button --
  1155. the right mouse button (called SELECT) merely appends the name
  1156. to the command line -- no command is formed or executed.
  1157.  
  1158. Executing/Selecting Command History Entries
  1159.  
  1160. If you press F8 to display the command history, you can access
  1161. previously executed commands in a similar fashion -- pointing to
  1162. the desired command and clicking EXECUTE causes the command to
  1163. be rerun, clicking SELECT only copies the old command to the
  1164. command line for editing and subsequent execution.  You can also
  1165. copy a history entry to the command line using the keystrokes
  1166. ALT A through ALT V.  This usage is most convenient when you
  1167. want a command run several command lines ago -- it is simpler to
  1168. find the command this way than to search for it sequentially
  1169. with the UP ARROW keystroke.
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186. Copyright 1991 (C) D. G. Dempsey                                         Page 18
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                                DSHELL Version 4.0                               
  1192.  
  1193.  
  1194. Menu Operations
  1195.  
  1196. DSHELL menus are available only in full screen mode.  At any one
  1197. time, a DSHELL process can have up to 7 menus defined with their
  1198. names shown on the top line of the full screen display.  
  1199.  
  1200. To display a menu, either press the corresponding function key
  1201. (F1-F7) or click the menu name with the mouse.  When you do so,
  1202. the menu will drop down with the entries for the menu shown in
  1203. the boxed (normally blue) area below the menu name.  
  1204.  
  1205. Each menu entry is a prompt and stands for a command which can
  1206. be executed by either clicking that line with the mouse EXECUTE
  1207. button or by typing the keycode(s) associated with that item. 
  1208. For the default menus included with DSHELL, the keycode(s)
  1209. associated with a menu entry are given by the capital letter
  1210. (usually 1 but sometimes 2) or the question mark (?) shown on
  1211. the menu line.
  1212. +----------------------------------------------------------------+
  1213. |The convention for indicating the selection keycodes is         |
  1214. |arbitrary and you can pick your own scheme for menus you create.|
  1215. +----------------------------------------------------------------+
  1216.  
  1217. To exit a menu without making a selection, press ESC or select
  1218. another menu.
  1219.  
  1220. Some menu items may require (or allow) parameters such as
  1221. filenames or other options.  In the default menus, these items
  1222. are indicated by the ellipses (..) in the prompt.  Such
  1223. +---------------------------------------------------------------+
  1224. |The convention here is also arbitrary, you can use your own    |
  1225. |convention for your menus.                                     |
  1226. +---------------------------------------------------------------+
  1227. parameters are taken from the contents of the command line (the
  1228. 24th line) when the menu entry is executed.  These fields must
  1229. be placed on the command line before the menu is dropped.  You
  1230. can either type them in, or, for the frequent case of a
  1231. filename(s), use the SELECT (right) button on the mouse to copy
  1232. the names to the command line.
  1233.  
  1234. A menu entry can be any valid DSHELL command line subject to a
  1235. length limitation of 80 characters.
  1236.  
  1237. Menus are created, changed or deleted via the SHMOUSE command in
  1238. DSHELL scripts.  Different invocations of DSHELL can have
  1239. different menus.  The default SYSTEM menu, as well an any
  1240. default menus you create, are produced by the PROFILE.SHL script
  1241. run when DSHELL is started from the DESQview OPEN menu.  Unless
  1242. changed, menus are inherited by subsequent DSHELL invocations.
  1243.  
  1244. The following sections describe the default menus.  For best
  1245. results, go through these sections while displaying those menus
  1246. on your screen.
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252. Copyright 1991 (C) D. G. Dempsey                                         Page 19
  1253.  
  1254.  
  1255.  
  1256.  
  1257.                                DSHELL Version 4.0                               
  1258.  
  1259.  
  1260. Using Menus - The SYSTEM Menu
  1261.  
  1262. If you drop the SYSTEM menu (F1 or the mouse), you will see a
  1263. blue display containing the entries shown here (some entries may
  1264. be different if your hardware or software packages are
  1265. different).  Clicking the line "drive A:" with the mouse EXECUTE
  1266. button changes your current disk/directory to the A: drive
  1267. (works best if you put a disk in the drive!).  Similarly,
  1268. pressing "n" or "N" invokes the DESQview MANIFEST program (if
  1269. you have one).  "Select directory" brings up a directory tree
  1270. for your current drive -- you can then pick the desired
  1271. directory with the mouse EXECUTE button to have DSHELL change to
  1272. that directory (F9 aborts the process with no change).
  1273.  
  1274. Some commands require a parameter(s) and are shown on the menu
  1275. by the inclusion of the ".." in a menu entry (such as the "ediT
  1276. .." which would invoke your editor to edit a specified file). 
  1277. In these cases, you should enter the parameters on the command
  1278. line before you drop the menu either by typing the
  1279. filename/parameters or, in the frequent case of a file in your
  1280. current directory, by clicking the filename on the directory
  1281. display with the right (SELECT) mouse button.  Once you have the
  1282. parameters on the command line, drop the menu and EXECUTE the
  1283. command as before.
  1284.  
  1285. If you drop a menu and then decide you need a parameter, click
  1286. off the menu or press ESC to clear the menu.
  1287.  
  1288. +--------------------+        NOTE:  This online manual may not
  1289. |SYSTEM              |        quite correspond with the version
  1290. | drive A:           |        of DSHELL you are using and there
  1291. | drive B:           |        may be slight differences in the
  1292. | drive C:           |        menu entries provided versus those
  1293. | drive D:           |        described in this online manual.
  1294. | drive E:           |
  1295. | maNifest           |
  1296. | Home               |
  1297. | Last directory     |
  1298. | Select directory   |
  1299. | ediT ..            |
  1300. | vieW ..            |
  1301. | Print ..           |
  1302. | Remove ..          |
  1303. | detaIl on files .. |
  1304. | file Operations    |
  1305. | disK operations    |
  1306. | enVironment        |
  1307. | Memory usage       |
  1308. | eXit               |
  1309. | help?              |
  1310. +--------------------+
  1311.  
  1312. The menu commands provided by the SYSTEM menu include the
  1313. following sets:
  1314.  
  1315. "drive X:" changes the current default disk to the indicated
  1316.  
  1317.  
  1318. Copyright 1991 (C) D. G. Dempsey                                         Page 20
  1319.  
  1320.  
  1321.  
  1322.  
  1323.                                DSHELL Version 4.0                               
  1324.  
  1325.  
  1326.         drive -- it is equivalent to the command "cd x:".
  1327.  
  1328. "maNifest" invokes the DESQview MANIFEST program to monitor
  1329.         machine and memory usage.  The parent DSHELL continues to run. 
  1330.         If your system does not include the MANIFEST program, this entry
  1331.         will not be present.
  1332.  
  1333. "Home" changes to your defined home drive and directory (default
  1334.         is C:\).
  1335.  
  1336. "Last directory" changes to the drive and directory you were
  1337.         previously in.
  1338.  
  1339. "Select directory" builds a directory tree for your current
  1340.         drive and allows you to change directly to any directory there.
  1341.  
  1342. "ediT .." invokes your editor for the indicated file (if any). 
  1343.         The parent DSHELL continues to run.
  1344.  
  1345. "vieW .." invokes the view (more) program to display the named
  1346.         (ASCII) file.  The parent DSHELL continues to run.
  1347.  
  1348. "Print .." invokes the DSHELL print spooler and sends the named
  1349.         files to it to be printed.
  1350.  
  1351. "Remove .." deletes the named files/directories/subdirectories,
  1352.         prompting for confirmation if wildcards or subdirectories are
  1353.         involved.
  1354.  
  1355. "detaIl on files .." provides a "dir" style listing of the
  1356.         specified files (default is all files in current directory) in a
  1357.         paged window.  The parent DSHELL continues to run.
  1358.  
  1359. "file Operations" creates a child DSHELL with file and DSHELL
  1360.         maintenance menus for performing various file and DSHELL
  1361.         maintenance operations.  The parent DSHELL continues to run. 
  1362.         This menu set will be discussed in subsequent sections.
  1363.  
  1364. "disK operations" creates a child DSHELL with diskette
  1365.         formatting and other maintenance menus for performing diskette
  1366.         related maintenance.  The parent DSHELL continues to run.  This
  1367.         menu set will also be discussed in subsequent sections.
  1368.  
  1369. "enVironment" displays a paged window with the current
  1370.         environment variables and values.  The parent DSHELL continues
  1371.         to run.
  1372.  
  1373. "Memory" displays the current DESQview and DSHELL memory and
  1374.         resource usages.  Pressing F9 will return to the full screen
  1375.         display.
  1376.  
  1377. "eXit" causes the current DSHELL to terminate.  If that DSHELL
  1378.         is the original invoked from the DESQview startup or OPEN menu,
  1379.         the print spooler and multifile editor (if present) will also be
  1380.         terminated.
  1381.  
  1382.  
  1383.  
  1384. Copyright 1991 (C) D. G. Dempsey                                         Page 21
  1385.  
  1386.  
  1387.  
  1388.  
  1389.                                DSHELL Version 4.0                               
  1390.  
  1391.  
  1392. The remaining 6 menu slots on the top line of the full screen
  1393. display can be used for your own menus.  The definition and
  1394. creation of such menus is done using the FILE OPERATIONS menus
  1395. discussed later.
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450. Copyright 1991 (C) D. G. Dempsey                                         Page 22
  1451.  
  1452.  
  1453.  
  1454.  
  1455.                                DSHELL Version 4.0                               
  1456.  
  1457.  
  1458. DISK OPERATIONS Menus
  1459.  
  1460. +--------------------+                                                                         
  1461. |Format              |
  1462. | Format type:       |
  1463. | >>Native           |
  1464. |   360k on 1.2m drv |
  1465. |   720k on 1.4m drv |
  1466. | Format options:    |
  1467. |   System           |
  1468. |   Unconditional    |
  1469. |   Quick            |
  1470. | format A: now!     |
  1471. | format B: now!     |
  1472. | help?              |
  1473. +--------------------+
  1474.  
  1475. Selecting "disK operations" on the SYSTEM menu invokes a DSHELL
  1476. script (diskops.shl) which creates and runs a child DSHELL with
  1477. menus for performing common floppy disk maintenance operations. 
  1478. These operations include diskette formatting, copying and
  1479. comparing and use the standard DOS format, diskcopy and diskcomp
  1480. commands with a menu interface.  To format a diskette, drop the
  1481. FORMAT menu, pick (EXECUTE) the format type desired (Native,
  1482. 360K on a 1.2M drive, etc.) and the desired options (copy System
  1483. files to the diskette, others depending on your DOS version). 
  1484. Selected format type and options are indicated by the ">>"
  1485. symbols.  When you are ready, pick the "format A: now!" or
  1486. "format B: now!" entries to begin running the DOS format program.
  1487.  
  1488. The other DISK OPERATIONS menus, COPY and COMPARE, allow you to
  1489. copy and compare diskettes of the same type and format.  Note
  1490. that selection of command on those menus requires two keystrokes
  1491. (typically the drive letters).
  1492.  
  1493. The last two DISK OPERATIONS menus allow you to display the
  1494. diskette directories and, when finished, exit the DISK
  1495. OPERATIONS process.  At any time, you can switch back to the
  1496. original DSHELL (F10 drops the switch menu) to do other things. 
  1497. While it is possible, it is not recommended that you attempt to
  1498. execute non-menu commands from the DISK OPERATIONS process. 
  1499. Also, because disk format and copying operations are typically
  1500. limited to one at a time because of your system hardware, only
  1501. one instance of the DISK OPERATIONS process is permitted.
  1502. +----------------------------------------------------------------+
  1503. |CAUTION:  When you format a floppy disk (or remove it or        |
  1504. |otherwise tamper with its format), you must insure that no other|
  1505. |programs running are using that diskette.  DSHELL attempts to   |
  1506. |protect against this, but ultimately its up to you.  The most   |
  1507. |common problem is having another program (DSHELL or otherwise)  |
  1508. |using that diskette as its current directory.                   |
  1509. +----------------------------------------------------------------+
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516. Copyright 1991 (C) D. G. Dempsey                                         Page 23
  1517.  
  1518.  
  1519.  
  1520.  
  1521.                                DSHELL Version 4.0                               
  1522.  
  1523.  
  1524. FILE OPERATIONS Menus
  1525.  
  1526. When you select FILE OPERATIONS from the SYSTEM menu, a new
  1527. DSHELL instance is created with menus tailored toward
  1528. file/directory maintenance, printer spooler operations and
  1529. various DSHELL/DESQview maintenance functions.  Unlike DISK
  1530. OPERATIONS, this instance can be used to execute your commands,
  1531. just like the original (and still available) DSHELL instance,
  1532. and, if you can keep things straight(!), you can have multiple
  1533. copies of the FILE OPERATIONS DSHELLs running simultaneously.
  1534.  
  1535. +--------------------+
  1536. |SYSTEM              |
  1537. | drive A:           |
  1538. | drive B:           |
  1539. | drive C:           |
  1540. | drive D:           |
  1541. | drive E:           |
  1542. | Home               |
  1543. | Last directory     |
  1544. | Select directory   |
  1545. | fresheN dirs       |
  1546. | ediT ..            |
  1547. | vieW ..            |
  1548. | Print ..           |
  1549. | Remove ..          |
  1550. | detaIl on files .. |
  1551. | disK operations    |
  1552. | eXit               |
  1553. | help?              |
  1554. +--------------------+
  1555.  
  1556. There are seven menus available on the FILE OPERATIONS instance.
  1557.  The first, titled System, is basically the same as its parent
  1558. DSHELL counterpart.  One new menu entry, fresheN dirs, allows
  1559. you to force the Select directory entry to rebuild its directory
  1560. lists (normally this is automatic any time you modify a disk's
  1561. directory structure within DSHELL -- this entry allows you to
  1562. force the rebuild if the structure is changed outside of
  1563. DSHELL).  The seventh menu,  Exit, simply exits the FILE
  1564. OPERATIONS package.  The remaining five menus provide the
  1565. general file and DSHELL maintenance operations and are generally
  1566. designed to operate on groups of files/directories.  These
  1567. groups are referred to as tag lists.  To operate on the files,
  1568. you first define the group (the tag list) then perform the
  1569. operation.
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582. Copyright 1991 (C) D. G. Dempsey                                         Page 24
  1583.  
  1584.  
  1585.  
  1586.  
  1587.                                DSHELL Version 4.0                               
  1588.  
  1589.  
  1590. FILE OPERATIONS - Tag Menu
  1591.  
  1592. +---------------------+
  1593. |Tag                  |
  1594. | Tag ..              |
  1595. | All like ..         |
  1596. |   incl Sys/hid      |
  1597. |   incl Directories  |
  1598. | Remove a tag        |
  1599. | View taglist        |
  1600. | Purge tag list      |
  1601. | Export list as ..   |
  1602. | Import .. as list   |
  1603. | help?               |
  1604. +---------------------+
  1605.  
  1606. To define a tag list, place the names of the files/directories
  1607. on the command line using the mouse  SELECT button (or by typing
  1608. the names on the command line).  Then drop the Tag menu and
  1609. execute the Tag .. command to add the items to the tag list. 
  1610. You can repeat the tagging sequence as many times as necessary
  1611. (with perhaps directory changes in between) until you have
  1612. constructed the list you wish to operate on (the tagging
  1613. operation is additive until you perform an operation with the
  1614. tag list).  Then proceed to the other menus to perform the
  1615. desired operation.  The Tag menu offers several tag list related
  1616. commands:
  1617.  
  1618. Tag .. - adds items on the command line to the current tag list.
  1619.          Wild cards (* and ?) are expanded as the items are added.
  1620.         +------------------------------------------------------------+
  1621.         |Hidden, system and directories are included in wild card    |
  1622.         |searches for the Tag .. command.                            |
  1623.         +------------------------------------------------------------+
  1624.  
  1625. All like .. - same as Tag .. except that wild cards are not
  1626.         expanded until your final operation is performed.  This command
  1627.         is generally used only when you wish to build a tag list for
  1628.         future use (such as the Import and Export list commands further
  1629.         down the menu).
  1630.  
  1631. incl Sys/hid - applies only to the All like .. command and lets
  1632.         you specify that system and hidden files should be included in a
  1633.         wild card selection (for file copy/rename/move/remove
  1634.         operations).
  1635.  
  1636. incl Directories - applies only to the All like .. command and
  1637.         lets you specify that directories matching a wild card
  1638.         specification should be included.
  1639.  
  1640. Remove a tag - lets you examine the current tag list and, by
  1641.         clicking the mouse EXECUTE button on the appropriate entry (one
  1642.         per line), delete entries you don't want included in the list.
  1643.  
  1644. View taglist - lets you view the current tag list.
  1645.  
  1646.  
  1647.  
  1648. Copyright 1991 (C) D. G. Dempsey                                         Page 25
  1649.  
  1650.  
  1651.  
  1652.  
  1653.                                DSHELL Version 4.0                               
  1654.  
  1655.  
  1656. Purge tag list - deletes all entries in the current tag list
  1657.         (insures an empty list).
  1658.  
  1659. Export list as .. - saves the current tag list as a specified
  1660.         file which you can import later if you wish to use the same list
  1661.         again.
  1662.  
  1663. Import .. as list - takes the contents of the specified file as
  1664.         the current tag list (this file should be the result of a
  1665.         previous Export command).
  1666.  
  1667. The tag list can include both files and directories.  By
  1668. default, a directory includes all files and subdirectories
  1669. within it.
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714. Copyright 1991 (C) D. G. Dempsey                                         Page 26
  1715.  
  1716.  
  1717.  
  1718.  
  1719.                                DSHELL Version 4.0                               
  1720.  
  1721.  
  1722. FILE OPERATIONS - Tag Ops Menu
  1723.  
  1724. +-------------------+
  1725. |Tag Ops            |
  1726. | Copy tagged to .. |
  1727. | Move tagged to .. |
  1728. | Rename tagged ..  |
  1729. | Delete tagged     |
  1730. | Edit tagged       |
  1731. | View tagged       |
  1732. | eXecute .. tagged |
  1733. | help?             |
  1734. +-------------------+
  1735.  
  1736. Once you have defined the list, drop the appropriate third,
  1737. fourth, fifth or sixth menu to perform your operation.  The
  1738. third menu, Tag Ops, contains the most common operations:
  1739.  
  1740. Copy tagged to .. - To copy a list of files/directories to a
  1741.         specified drive/file/directory,  enter the target's name on the
  1742.         command line and execute this entry.  The name can include wild
  1743.         cards (renaming occurs as the copy is done) and subdirectories
  1744.         as necessary will be created if required.  Of course, the target
  1745.         must be compatible with items on the list (you cannot copy a
  1746.         directory to a file or copy many files to one file).  If the
  1747.         target does not already exist, it will be created in an
  1748.         intelligent manner.  Note that, if you copy a directory to an
  1749.         existing directory, it becomes a subdirectory in the target
  1750.         directory but, if you copy a directory to a non-existent
  1751.         directory, it becomes the directory.
  1752.  
  1753. Move tagged to .. - Same as Copy except the items are moved and
  1754.         the target must be on the same logical disk -- to move across
  1755.         drives, do a Copy then a Delete.
  1756.  
  1757. Rename tagged .. - Changes names of files/directories.  Move can
  1758.         also do this but Rename resolves the inconsistency that can
  1759.         sometimes occur in a directory rename.
  1760.  
  1761. Delete tagged - Deletes the tagged entries including
  1762.         subdirectories.  Note that a directory will be deleted only if
  1763.         all the files/subdirectories in it can be deleted.
  1764.  
  1765. Edit tagged - Edit the files in the tag list -- directories are
  1766.         ignored.
  1767.  
  1768. View tagged - View the contents of the files in the tag list.
  1769.  
  1770. eXecute .. tagged - For each item in the tag, the command found
  1771.         on the command line is run with the item name as a final
  1772.         parameter.
  1773.  
  1774. Upon successful completion, the tag list is emptied.
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780. Copyright 1991 (C) D. G. Dempsey                                         Page 27
  1781.  
  1782.  
  1783.  
  1784.  
  1785.                                DSHELL Version 4.0                               
  1786.  
  1787.  
  1788. The fourth menu, At(t)ribute, applies only to files (or files in
  1789.  
  1790. +-------------------+
  1791. |Atribute           |
  1792. | Change tagged To: |
  1793. |   Set Readonly    |
  1794. |   Clear Readonly  |
  1795. |   Set System      |
  1796. |   Clear System    |
  1797. |   Set Hidden      |
  1798. |   Clear Hidden    |
  1799. |   Set Archive     |
  1800. |   Clear Archive   |
  1801. | help??            |
  1802. +-------------------+
  1803.  
  1804. directories) and allows you to change the DOS attributes of the
  1805. files.  To change the attributes, pick the Set/Clear options for
  1806. the attributes you wish to change (selecting neither is no
  1807. change for that particular attribute) then pick Change tagged
  1808. To: to perform the change.  Note that entries on this menu
  1809. require two keystrokes if you are using the keyboard.  You
  1810. cannot change the attributes of directories or of files in a
  1811. readonly disk partition (or a write protected floppy disk).  As
  1812. in other operations, the tag list is cleared upon successful
  1813. completion of the changes.
  1814.  
  1815. Operations on both these menus can take time if many files and
  1816. directories are involved.  While the operation is running, you
  1817. can switch to other tasks to perform other operations however.
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846. Copyright 1991 (C) D. G. Dempsey                                         Page 28
  1847.  
  1848.  
  1849.  
  1850.  
  1851.                                DSHELL Version 4.0                               
  1852.  
  1853.  
  1854. The fifth menu, Print, provides for printing the tagged files
  1855.  
  1856. +---------------------+
  1857. |Print                |
  1858. | Print tagged        |
  1859. | Device: PRN         |
  1860. | modE: RAW           |
  1861. | formAt:auto         |
  1862. |   High priority     |
  1863. | >>Medium priority   |
  1864. |   Low priority      |
  1865. |   Formfeed after    |
  1866. | View queues         |
  1867. | Remove queue entry  |
  1868. | Kill all queues     |
  1869. | make permaNent      |
  1870. | Stop spooler        |
  1871. | spOol command ..    |
  1872. | prinT/remove        |
  1873. | help?               |
  1874. +---------------------+
  1875.  
  1876. via the print spooler and access to the more elaborate printer
  1877. spooler options.  This menu provides the following functions:
  1878.  
  1879. Print tagged - the files on the tag list are sent to the printer
  1880.         spooler for printing.  If the spooler is not running, it is
  1881.         loaded and started.  Priority, output device and format are as
  1882.         selected on the menu at the time the files are spooled.
  1883.  
  1884. Device: dev - Normally the print spooler outputs to PRN device
  1885.         but other devices can be specified by picking this option.
  1886.  
  1887. modE: xxx - This selection controls the handling of special
  1888.         characters in print files (most commonly, the CNTRL Z end of
  1889.         file flag) -- generally you won't need to change this but
  1890.         picking this option allows you to select other handling options.
  1891.  
  1892. formAt: xxxx - The print spooler has filters for handling
  1893.         special printers (such as Adobe Postscript and other laser
  1894.         printers).  Picking this entry allows you to select from the
  1895.         available printers and specify special printing formats such as
  1896.         font size, portrait or landscape printing.  If you do not change
  1897.         this entry from its default (none), no special formatting is
  1898.         performed.  If you have multiple printers on different device
  1899.         ports, you can specify different formatting on a by port basis.
  1900.  
  1901. High/Medium/Low priority - The print spooler maintains three
  1902.         levels of print queues and you can change the level jobs are
  1903.         sent to by picking these items.  Jobs in higher priority queues
  1904.         are printed before jobs in lower priority queues but entering a
  1905.         job in a higher priority queue will not pre-empt a running job. 
  1906.         New jobs are placed at the end of their respective queues.
  1907.  
  1908. Formfeed after - If selected, a formfeed will be sent to the
  1909.         printer at the end of each job to insure that each job starts on
  1910.  
  1911.  
  1912. Copyright 1991 (C) D. G. Dempsey                                         Page 29
  1913.  
  1914.  
  1915.  
  1916.  
  1917.                                DSHELL Version 4.0                               
  1918.  
  1919.  
  1920.         a new sheet of paper.  Not recommended for printers which do not
  1921.         understand formfeeds (like Postscript printers).
  1922.  
  1923. View queues - Displays jobs currently spooled.
  1924.         +----------------------------------------------------------------+
  1925.         |Note that, if you have just queued a job and the spooler is     |
  1926.         |still printing a previous job, the new job will not appear in   |
  1927.         |the queues until the current print finishes -- the spooler only |
  1928.         |updates the queues between print jobs.                          |
  1929.         +----------------------------------------------------------------+
  1930.  
  1931. Remove queue entry - Allows you to remove an entry from the
  1932.         currently selected priority queue.  The spooler queue is locked
  1933.         while you perform this removal.  You cannot remove the job
  1934.         currently printing.
  1935.  
  1936. Kill all queues - Deletes are queued spooler jobs.
  1937.  
  1938. make permaNent - Makes the current device, format, priority and
  1939.         formfeed options the defaults.  These defaults are used when you
  1940.         first bring up a FILE OPERATIONS instance or when you print via
  1941.         the Print .. command on the system menus.
  1942.  
  1943. Stop spooler - Shuts down the print spooler at the end of the
  1944.         current print job.  Any jobs remaining in the queues will be
  1945.         preserved and printed the next time the spooler is started.
  1946.         +----------------------------------------------------------------+
  1947.         |If you want to temporarily stop a print job, use the DESQview   |
  1948.         |Freeze option.  You can kill a job while it is printing by      |
  1949.         |switching to the spooler window, typing CNTRL Z, and telling the|
  1950.         |spooler to continue.                                            |
  1951.         +----------------------------------------------------------------+
  1952.         +----------------------------------------------------------------+
  1953.         |If you are using a Postscript formAt option, you have to also   |
  1954.         |close the postscrip process windows.                            |
  1955.         +----------------------------------------------------------------+
  1956. spOol command .. - The spooler actually spools commands (a file
  1957.         print is really a command to copy the file to the printer
  1958.         device).  Picking this entry sends the contents of the command
  1959.         line to the spooler for in turn execution.  If the spooler has
  1960.         been shutdown (Stop spooler) and no command is specified, this
  1961.         selection will restart the spooler.
  1962.  
  1963. print/Remove - Same as the Print tagged selection except that
  1964.         the files are deleted after being printed.
  1965.  
  1966. By default, the print spooler is started when you start DSHELL
  1967. if there are jobs queued.
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978. Copyright 1991 (C) D. G. Dempsey                                         Page 30
  1979.  
  1980.  
  1981.  
  1982.  
  1983.                                DSHELL Version 4.0                               
  1984.  
  1985.  
  1986. FILE OPERATIONS - DSHELL Menu
  1987.  
  1988. The sixth menu provides access to various DSHELL setup and
  1989.  
  1990. +---------------------+
  1991. |Dshell               |
  1992. | Edit dshell pif     |
  1993. | Tagged -> spawnpif  |
  1994. | Del spawnpif entry  |
  1995. | View spawnpif       |
  1996. | Change profile      |
  1997. | help?               |
  1998. +---------------------+
  1999.  
  2000. maintenance functions.  These operations allow you to specify
  2001. special treatment for specific programs and customize your
  2002. DSHELL startup script (PROFILE.SHL) to provide your own menus,
  2003. default commands, screen colors and other options.  (See the
  2004. sections on PROFILE.SHL and Controlling the Process Environment
  2005. elsewhere in this manual for more detailed discussions of these
  2006. applications.)  The operations include the following:
  2007.  
  2008. Edit dshell pif - The DSHELL pif files (in the DSHELL directory
  2009.         with filenames like 00-pif.dpf) provide the various DESQview
  2010.         virtual machine environments for running general (the 00-pif.dpf
  2011.         file) and specific (the others) programs.  This entry will let
  2012.         you modify existing or create new ones.
  2013.  
  2014. Add spawn tagged - Executable programs (.EXE, .COM and .BAT
  2015.         files) are associated with the DSHELL pifs by what is called a
  2016.         spawn list (SPAWNPIF.SET in the DSHELL directory).  Programs not
  2017.         on that list (the usual case) are run in the default environment
  2018.         (i.e., use pif 00-pif.dpf).  If you have a program that requires
  2019.         special treatment, tag that program with the Tag menu and select
  2020.         this entry to setup the treatment.  Submenus will allow you to
  2021.         select or create a pif if necessary and assign other special
  2022.         treatments.  If you have several programs that you want to get
  2023.         the same treatment (like well-behaved programs requiring no
  2024.         screen virtualization for pre-386 processors), tag them all and
  2025.         then come here.
  2026.  
  2027. Delete spawn entry - This entry allows you to delete the special
  2028.         handling for a specific program by deleting its line in the
  2029.         SPAWNPIF.SET file.
  2030.  
  2031. View spawnpif - Lets you view the current entries in the
  2032.         SPAWNPIF.SET list.
  2033.  
  2034. Change profile - Starts a new DSHELL instance with menus for
  2035.         customizing your PROFILE.SHL startup script as described in the
  2036.         section DSHELL STARTUP - PROFILE.SHL.  Here you can customize
  2037.         your screen colors, define command aliases and environment
  2038.         variables, setup default commands for specific file types
  2039.         (extensions), define your own menus and modify various DSHELL
  2040.         setup options.
  2041.  
  2042.  
  2043.  
  2044. Copyright 1991 (C) D. G. Dempsey                                         Page 31
  2045.  
  2046.  
  2047.  
  2048.  
  2049.                                DSHELL Version 4.0                               
  2050.  
  2051.  
  2052. Example 1:  Formatting a Floppy Disk
  2053.  
  2054. For practice, let us format a floppy diskette which we will use
  2055. in the next example to make a backup copy of your installed
  2056. DSHELL files.  This disk should have a capacity of at least
  2057. 720K.  You could do this by entering the DOS format command just
  2058. as you would from DOS but we will use the Disk Operations menus
  2059. instead.
  2060.  
  2061. 1.      Place a floppy diskette to be formatted in drive A: (or B: if
  2062.         you wish).
  2063.         
  2064. 2.      Drop the SYSTEM menu (F1 or mouse) and select the disK
  2065.         operations entry (K or click line with mouse EXECUTE (left)
  2066.         button).
  2067.         
  2068. 3.      After a few seconds, the Disk Operations menus appear.
  2069.         
  2070. 4.      Drop the Format menu (F1 or mouse) if it is not already
  2071.         displayed.
  2072.         
  2073. 5.      Pick the format type (probably Native) by typing the appropriate
  2074.         letter (probably N) or clicking the desired menu entry with the
  2075.         mouse EXECUTE button.  A ">>" will appear on the selected line
  2076.         indicating the selected format type.
  2077.         
  2078. 6.      We don't need to put the DOS system files on the disk (or use
  2079.         any of the other options if you have DOS 5.0), so we can skip
  2080.         setting any of them.
  2081.         +-----------------------------------------------------------------+
  2082.         |If any are selected (indicated by a ">>"), click or type the     |
  2083.         |appropriate keystroke to turn those options off (the options are |
  2084.         |binary).                                                         |
  2085.         +-----------------------------------------------------------------+
  2086. 7.      To begin the format, click the "format A: now!" (or "format B:
  2087.         now!" if you are using the B: drive) with the mouse EXECUTE
  2088.         button (or type A or B).
  2089.         
  2090. 8.      Your DOS formatting program will run and prompt you for
  2091.         confirmation of diskette in drive.  Provide the appropriate
  2092.         responses to perform the format until the format program
  2093.         terminates.  While the copy is running, you could return to the
  2094.         main DSHELL if you wish to do other things while waiting for the
  2095.         format to complete.
  2096.         
  2097. 9.      The Disk Operations window will return.
  2098.         
  2099. 10.     Exit the window by pressing F7 and E to drop the Exit menu and
  2100.         confirm the exit.  The main DSHELL window will return and the
  2101.         format is complete.
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110. Copyright 1991 (C) D. G. Dempsey                                         Page 32
  2111.  
  2112.  
  2113.  
  2114.  
  2115.                                DSHELL Version 4.0                               
  2116.  
  2117.  
  2118. Example 2:  Copying Files and Directories
  2119.  
  2120. We will now make a backup copy of the installed DSHELL
  2121. directories and files.  We begin on the SYSTEM menu of the main
  2122. DSHELL (DSHELL Version 4.0 on your DESQview SWITCH menu).
  2123.  
  2124. 1.      Start up the File Operations window by dropping the SYSTEM menu
  2125.         (F1 or mouse) and execute the "file Operations" entry (O or
  2126.         click line with mouse EXECUTE button).
  2127.  
  2128. 2.      You must go to the drive containing the DSHELL directory if you
  2129.         are not already there.  To do so, drop the System menu (F1 or
  2130.         click with mouse) and type the letter (probably C) of the
  2131.         desired drive (or click the drive line with the mouse EXECUTE
  2132.         button).
  2133.  
  2134. 3.      Since we want to copy the entire DSHELL directory, including its
  2135.         files and subdirectories, we must go to the directory which
  2136.         contains the DSHELL directory (probably C:\).  If you are not
  2137.         already there, you can get there by dropping the System menu (F1
  2138.         or mouse), typing S to run the "Select directory" entry, and
  2139.         then, when the directory tree is displayed, clicking the
  2140.         appropriate line (probably C:/) with the mouse EXECUTE button. 
  2141.         You can also get there by clicking the appropriate directory
  2142.         names (remember .. moves back up the directory tree) until you
  2143.         see the DSHELL directory.
  2144.  
  2145. 4.      To copy the DSHELL directory, we must first tag it.  With no
  2146.         menus dropped, click the DSHELL directory name with the mouse
  2147.         SELECT (right) button to place the name on the command line (or
  2148.         just type the name if you wish).
  2149.  
  2150. 5.      Drop the Tag menu (F2 or click with mouse) and execute the "Tag
  2151.         .." entry (T or click line with mouse EXECUTE button).  The
  2152.         command line should clear and the Tag menu disappear.  You have
  2153.         created a tag list contain one entry, the DSHELL directory.
  2154.  
  2155. 6.      Before going to the "Tag Ops" menu to do the copy, we need to
  2156.         place the target drive on the command line so type
  2157.  
  2158.         a:
  2159.  
  2160.         on the command line but DO NOT press ENTER.
  2161.  
  2162. 7.      Drop the "Tag Ops" menu (press F3 or click with mouse) and
  2163.         execute the "Copy tagged to .." command (press C or click line
  2164.         with mouse EXECUTE button).  The copy will begin, listing the
  2165.         files and subdirectories as they are copied.  The copy can take
  2166.         several minutes depending on your system.
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176. Copyright 1991 (C) D. G. Dempsey                                         Page 33
  2177.  
  2178.  
  2179.  
  2180.  
  2181.                                DSHELL Version 4.0                               
  2182.  
  2183.  
  2184. 8.      When the copy has completed, select the Exit menu (F7) and exit
  2185.         (E) to return to the main DSHELL.
  2186. +--------------------------------------------------------------+
  2187. |We should note in passing that, while menu driven systems are |
  2188. |nice for your memory, they are usually not the shortest or    |
  2189. |fastest way.  In this case, the operation could have been     |
  2190. |equally replaced by the single command                        |
  2191. |                                                              |
  2192. |cp -vesd dshell a: &                                          |
  2193. |                                                              |
  2194. |which (although a bit cryptic) does the same thing.           |
  2195. +--------------------------------------------------------------+
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242. Copyright 1991 (C) D. G. Dempsey                                         Page 34
  2243.  
  2244.  
  2245.  
  2246.  
  2247.                                DSHELL Version 4.0                               
  2248.  
  2249.  
  2250. Example 3:  Defining a Default Command
  2251.  
  2252. Let us now create a default command to be run anytime you select
  2253. a Quattro Pro database file (these files typically end in the
  2254. extension .WQ1 for example).  First, we need to determine what
  2255. is the command to be run with such a file.  In this case, the
  2256. command might be (assuming the filename is "xxxxx.wq1")
  2257.  
  2258. q xxxxx.wq1 & fore
  2259.  
  2260. if the directory to Quattro Pro is in your DOS path or perhaps
  2261.  
  2262. c:\qpro\q xxxxx.wq1 & fore
  2263.  
  2264. if the Quattro Pro directory is not in your normal DOS path.  We
  2265. have added the " & fore" to insure that our DSHELL continues to
  2266. accept commands if we temporarily leave Quattro Pro to do
  2267. something else.
  2268.  
  2269. At this point, you should try this command in your system (or
  2270. its equivalent if you are substituting something similar) to
  2271. insure that it works.  When you are sure, return here and
  2272. perform the following steps.  To define a new default or main
  2273. DSHELL menu, we must add the information to the DSHELL startup
  2274. script PROFILE.SHL and restart DSHELL.
  2275.  
  2276. 1.      Create a File Operations DSHELL from the SYSTEM menu (or, if the
  2277.         DSHELL backup has completed, just switch to that File Operations
  2278.         DSHELL).
  2279.         
  2280. 2.      Drop the Dshell menu (F6 or click with mouse) and pick the
  2281.         Change profile entry (C or click with mouse EXECUTE button).
  2282.         
  2283. 3.      After the Change Profile DSHELL comes up, press F4 (or click
  2284.         Defaults) to drop the Defaults menu.
  2285.         
  2286. 4.      We wish to define a new default command so press A (or click the
  2287.         Add default entry with the mouse EXECUTE button).  A list of
  2288.         options and prompt appears.
  2289.         
  2290. 5.      We will first define the extension (.wq1) so type 1 and press
  2291.         ENTER.  Then type the extension
  2292.         
  2293.         wq1
  2294.         
  2295.         and press ENTER.  The options list reappears showing your
  2296.         extension.
  2297.         
  2298. 6.      We will now define the command so type 2 and press ENTER.
  2299.         
  2300. 7.      The screen now prompts for the command.  We will enter the
  2301.         command as we used it with one slight change -- we must indicate
  2302.         where to put the filename (the xxxxx.wq1 in our example).  To do
  2303.         so, enter your command substituting a caret (^) for where you
  2304.         want the filename to appear:
  2305.         
  2306.  
  2307.  
  2308. Copyright 1991 (C) D. G. Dempsey                                         Page 35
  2309.  
  2310.  
  2311.  
  2312.  
  2313.                                DSHELL Version 4.0                               
  2314.  
  2315.  
  2316.         c:\qpro\q ^ & fore
  2317.         
  2318.         and press ENTER.
  2319.         
  2320. 8.      The options list reappears with your command and extension
  2321.         specified.
  2322.         
  2323. 9.      If you want to make a change, you can reselect 1 or 2 to change
  2324.         them.
  2325.         
  2326. 10.     When you are happy with the extension and command, press 3
  2327.         followed by ENTER to commit the default.
  2328.         
  2329. 11.     You will return to the Change Profile screen display.
  2330.         
  2331. You have completed the definition of the default command. 
  2332. However, it will not be available until you exited and restarted
  2333. the current DSHELL session.  Let us proceed to the next example
  2334. before doing so since it will necessitate the same restart.
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374. Copyright 1991 (C) D. G. Dempsey                                         Page 36
  2375.  
  2376.  
  2377.  
  2378.  
  2379.                                DSHELL Version 4.0                               
  2380.  
  2381.  
  2382. Example 4:  Defining a Menu
  2383.  
  2384. In this example, we will create a menu containing the command to
  2385. start the Quattro Pro program.  As in the previous example, we
  2386. assume the command is of the form
  2387.  
  2388. c:\qpro\q xxxxx & fore
  2389.  
  2390. where xxxxx is the optional spreadsheet file and the "& fore"
  2391. has been added to allow the DSHELL to remain available for other
  2392. commands.  Like the default command, a menu entry in the initial
  2393. DSHELL menus is defined in the startup script PROFILE.SHL.  To
  2394. modify PROFILE.SHL, we will use the File Operations - Dshell -
  2395. Change Profile menus:
  2396.  
  2397. 1.      Assuming you have just done Example 3 (Defining a Default
  2398.         Command), you are already in the Change Profile menus.  If you
  2399.         are not, go there either by switching to it (if the Change
  2400.         Profile DSHELL is running) or bring it up by going through the
  2401.         first two steps in Example 3.
  2402.         
  2403. 2.      In the Change Profile menus, drop the Menus menu (press F5 or
  2404.         click with mouse).  You will see a list of the currently defined
  2405.         menus (probably only the first, SYSTEM, is defined).  Select the
  2406.         second (or first undefined) menu slot (press 2 or click that
  2407.         line with the mouse EXECUTE button).  This selects the
  2408.         particular menu slot we will be working with.
  2409.         
  2410. 3.      As no menu has been defined for slot 2, you will be prompted for
  2411.         a 1-8 character name to be placed on the menu bar (top line of
  2412.         the full screen display) for this menu.  Type
  2413.         
  2414.         General
  2415.         
  2416.         and press ENTER to title the new menu "General".
  2417.         
  2418. 4.      You will now be presented with a list for
  2419.         adding/deleting/editing menu entries (commands and prompts) for
  2420.         the entries on your new "General" menu.  Execute the "Add menu
  2421.         entry" line (press A or click line with mouse EXECUTE button).
  2422.         
  2423. 5.      You will be presented with a list of options to define the
  2424.         keystroke(s) to select your new entry, define the prompt to
  2425.         appear on the menu for it, and to define the command to be run.
  2426.         
  2427. 6.      Type 1 and press ENTER to setup the keystroke to select this
  2428.         menu.  We will use the letter Q so type
  2429.         
  2430.         Q
  2431.         
  2432.         and press ENTER.  The list will repaint, showing your keystroke
  2433.         Q as the keycode.
  2434.         
  2435. 7.      We will use the prompt "Quattro pro ..", so type 2 and press
  2436.         ENTER.  The screen will ask for the menu prompt to be entered. 
  2437.         Type
  2438.  
  2439.  
  2440. Copyright 1991 (C) D. G. Dempsey                                         Page 37
  2441.  
  2442.  
  2443.  
  2444.  
  2445.                                DSHELL Version 4.0                               
  2446.  
  2447.  
  2448.         
  2449.         Quattro pro ..
  2450.         
  2451.         and press ENTER.  The screen repaints with your keycode and menu
  2452.         prompt shown.
  2453.         
  2454. 8.      To enter the command, type 3 and press ENTER.  Then type the
  2455.         command
  2456.         
  2457.         c:/qpro/q  ^ & fore
  2458.         
  2459.         and press ENTER.  Note, as in the case with the default
  2460.         commands, we have substituted the caret (^) where we want the
  2461.         optional parameters (a filename most likely in this case) to be
  2462.         placed.  The screen repaints showing your keycode, prompt and
  2463.         command line.
  2464.         
  2465. 9.      If you have made an error, repeat steps 6, 7 and 8 as necessary.
  2466.         
  2467. 10.     When you are happy with the entries, type 4 and press ENTER to
  2468.         commit the menu entry.  The Change Profile menus will return.
  2469.         
  2470. 11.     We are now complete with the changes we wish to make to the
  2471.         PROFILE.SHL to define a default command and a new menu (with 1
  2472.         entry).  You could add other defaults or menus or menu entries
  2473.         by repeating the necessary commands.
  2474.         
  2475. 12.     To make the changes effective, we must rebuild the PROFILE.SHL
  2476.         script (the changes so far are kept in temporary files).  To do
  2477.         so, drop the Exit menu (F7 or click with mouse) and select the
  2478.         "Exit, new profile" entry (E or click line with mouse EXECUTE
  2479.         button).
  2480.         
  2481. 13.     The PROFILE.SHL script will be rebuilt, you will be reminded
  2482.         that you must restart DSHELL to see the changes, and you will
  2483.         return (probably) to the File Operations DSHELL.
  2484.         
  2485. 14.     To restart DSHELL, first exit the File Operations DSHELL by
  2486.         dropping the Exit menu and executing the Exit line.  Then exit
  2487.         the main DSHELL by dropping the SYSTEM menu and executing the
  2488.         "eXit" entry.  If you had any other DSHELLs running (like the
  2489.         Disk Operations DSHELL), you will have to exit them also.
  2490.         
  2491. 15.     You should now be back at the DESQview main menu, so restart
  2492.         DSHELL by going to the OPEN menu and selecting the "DSHELL
  2493.         Version 4.0" entry.
  2494.         
  2495. 16.     After your DSHELL restarts, you will see a second menu, General.
  2496.          You can now start Quattro Pro by dropping that menu and
  2497.         executing the command "Quattro pro ..".  If you place the name
  2498.         (and path if necessary) of a Quattro Pro spreadsheet on the
  2499.         command line first, that spreadsheet will be displayed by
  2500.         Quattro Pro.
  2501.         
  2502. 17.     To use the default command we created, you must first exit the
  2503.         Quattro Pro window created in the previous step (Quattro Pro
  2504.  
  2505.  
  2506. Copyright 1991 (C) D. G. Dempsey                                         Page 38
  2507.  
  2508.  
  2509.  
  2510.  
  2511.                                DSHELL Version 4.0                               
  2512.  
  2513.  
  2514.         does not generally like to see two copies of itself running at
  2515.         once!).
  2516.         
  2517. 18.     To execute the default command, go to a directory that has a
  2518.         Quattro Pro .WQ1 spreadsheet file and click that filename with
  2519.         the mouse EXECUTE button.  Quattro Pro should come up displaying
  2520.         that file.
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572. Copyright 1991 (C) D. G. Dempsey                                         Page 39
  2573.  
  2574.  
  2575.  
  2576.  
  2577.                                DSHELL Version 4.0                               
  2578.  
  2579.  
  2580. Example 5:  Running a DSHELL Command From DOS
  2581.  
  2582. Sometimes it is convenient to issue a DSHELL command from DOS or
  2583. some other program rather than going back to the DSHELL window. 
  2584. Examples might include a .BAT script in DOS, the DOS 5 DOSSHELL
  2585. program or a makefile where you wish to run another program in
  2586. its own process (more memory) or run a command that is only
  2587. available in DSHELL (like a .SHL script).  Provided the program
  2588. provides a DOS command line capability and access to expanded
  2589. memory, you can issue such commands by using the DSHELL.EXE
  2590. +-----------------------------------------------------------------+
  2591. |Some programs meet the first requirement but not the second.     |
  2592. |Quattro Pro, for example, normally uses all expanded memory      |
  2593. |allocated to it for its own use.  The DSHELL program must have   |
  2594. |access to expanded memory (2 pages) to run.                      |
  2595. +-----------------------------------------------------------------+
  2596. program.  For example, you can use the DSHELL REMOVE command
  2597. +---------------------------------------------------------------+
  2598. |Before doing so, you must put DSHELL.EXE someplace where the   |
  2599. |originating program can find it.  The \DOS directory is often  |
  2600. |good.                                                          |
  2601. +---------------------------------------------------------------+
  2602. to delete files/directories from a DOS window (like D1) by typing
  2603.  
  2604. dshell remove xxx
  2605.  
  2606. where xxx is the stuff you want to remove.  The command has the
  2607. same general format as it would in DSHELL except you have
  2608. prefixed it with the dshell program.  Normally, dshell will wait
  2609. for the command to complete before returning, but you can
  2610. include an ampersand (&) or (& fore) just as you would in DSHELL
  2611. to prevent the wait.
  2612.  
  2613. Sometimes the program from which you issue the dshell command
  2614. will attempt to process the command line itself (DOS will in
  2615. this example if you attempt to redirect input/output).  To
  2616. prevent this, try enclosing the command (following the dshell)
  2617. in double quotes.
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638. Copyright 1991 (C) D. G. Dempsey                                         Page 40
  2639.  
  2640.  
  2641.  
  2642.  
  2643.                                DSHELL Version 4.0                               
  2644.  
  2645.  
  2646. How DSHELL Works
  2647.  
  2648. This section describes how DSHELL works as it processes your
  2649. commands.  While not essential knowledge, it can be useful in
  2650. understanding how and why things happen the way they do.  If you
  2651. desire, you can skip this section.
  2652.  
  2653. Initially, the DSHELL program (shell.exe) is started from the
  2654. DESQview OPEN menu, either by you or by a DESQview startup
  2655. script, and executes the script PROFILE.SHL before appearing to
  2656. you as your user interface in either full screen or command line
  2657. mode.  As you enter commands, this parent DSHELL process either
  2658. executes the command itself (internal commands) or creates other
  2659. DESQview processes (called child processes) to execute the
  2660. command (scripts, .DVP, .EXE, and .COM files).  If you did not
  2661. choose background execution for the command, the parent DSHELL
  2662. process waits until the command completes before accepting
  2663. further commands (like DOS).  If you specified background
  2664. execution, then the parent DSHELL process returns immediately
  2665. for further commands while the old command continues running in
  2666. its own process.
  2667.  
  2668. If the command was a .SHL script, a backgrounded internal
  2669. command or a request for an additional interactive DSHELL
  2670. instance, the child process is a copy of the original parent
  2671. DSHELL process, inheriting all of its system environment from
  2672. the parent DSHELL process at the time of the child's creation. 
  2673. If the command was a .BAT, .COM, or .EXE file, the new process
  2674. first invokes a special loader to get its environment from the
  2675. parent DSHELL process and then loads and executes the program. 
  2676. In either case, when the child process completes, its final exit
  2677. status is returned to the parent DSHELL process.
  2678. Note:   If the command is a .DVP file, a child process is created
  2679.         using the .DVP file instructions, but the environment is limited
  2680.         to that provided by DESQview and exit code processing is not
  2681.         available.
  2682.  
  2683. If the command line specifies that the standard output of one
  2684. command (a child process) is to be used as the standard input of
  2685. a second command (another process), the loader (or the child
  2686. DSHELL process itself) creates and operates the inter-process
  2687. pipe between the two processes.
  2688.  
  2689. Any number of child processes and other DESQview processes can
  2690. coexist limited only by system resources (and operator sanity). 
  2691. If the child process is itself a DSHELL process (that is a
  2692. process running DSHELL), it can itself have other child
  2693. processes with the same scope and capabilities as the original
  2694. parent DSHELL process.
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704. Copyright 1991 (C) D. G. Dempsey                                         Page 41
  2705.  
  2706.  
  2707.  
  2708.  
  2709.                                DSHELL Version 4.0                               
  2710.  
  2711.  
  2712. DSHELL Startup - PROFILE.SHL
  2713.  
  2714. The DSHELL script PROFILE.SHL is executed on initial DSHELL
  2715. creation.  It must be located in the DSHELL directory, normally
  2716. C:\DSHELL.  This script provides the base environment for the
  2717. DSHELL and any environment variables, aliases, command defaults,
  2718. and menus defined in the profile will be available at all DSHELL
  2719. levels unless subsequently changed or deleted.
  2720.  
  2721. As the PROFILE.SHL script provides the environment and setup for
  2722. DSHELL, it is almost certain that you will want to modify it for
  2723. your particular system (such as create your own menus to always
  2724. be available or start special jobs automatically when you start
  2725. up DSHELL).  Two methods are available to perform this
  2726. customization.
  2727.  
  2728. The recommended method is to use the FILE Operations - DSHELL -
  2729. Change Profile (really a .SHL script itself) to maintain and
  2730. modify your PROFILE.SHL.  This script provides considerable
  2731. support for making the modifications (such as menus of changes
  2732. and directions on likely command formats), eliminates much of
  2733. the hassle of trying to figure out what command parameters do
  2734. you need to set for a particular function, and maintains an
  2735. orderly structure to your PROFILE.SHL.  Maintaining this
  2736. structure is particularly important when you upgrade to future
  2737. versions of DSHELL as it greatly enhances the INSTALL program's
  2738. ability to make any necessary modifications for the new DSHELL
  2739. version without losing any changes you may have made.
  2740.  
  2741. As the PROFILE.SHL is a .SHL script, you can modify it as you
  2742. desire with your text editor.  While this is the most
  2743. expeditious method, it does require considerable understanding
  2744. of the operation and commands in DSHELL.  It can also provide
  2745. problems when you upgrade DSHELL since the new version could
  2746. need to make changes in the PROFILE.SHL and, if you have edited
  2747. your own PROFILE.SHL, these changes would have to be manually
  2748. mapped into the new PROFILE.SHL.  Unless you really feel the
  2749. need to edit PROFILE.SHL directly, this method is best avoided.
  2750.  
  2751. The following sections describe the different components
  2752. normally found in the PROFILE.SHL script.  The discussion and
  2753. explanations assume you use the Change Profile to maintain your
  2754. PROFILE.SHL.  The script creates a safe copy of the PROFILE.SHL
  2755. information for subsequent modification and presents a set of
  2756. menus for modifying these components.  After you have completed
  2757. your modifications, you select the ExitHelp menu and chose
  2758. either to implement the new PROFILE.SHL or discard your changes.
  2759.  Remember than any changes you make to PROFILE.SHL will not be
  2760. effective until you leave and re-start DSHELL.
  2761.  
  2762. Besides the ExitHelp menu, Change Profile presents 6 additional
  2763. menus for modifying the six sections of the PROFILE.SHL script. 
  2764. The contents of these sections and the associated menus are
  2765. discussed in the next six sections.  When making the actual
  2766. changes, there is no need to follow the order of this section --
  2767. you can jump around from menu to menu as you desire.  You can
  2768.  
  2769.  
  2770. Copyright 1991 (C) D. G. Dempsey                                         Page 42
  2771.  
  2772.  
  2773.  
  2774.  
  2775.                                DSHELL Version 4.0                               
  2776.  
  2777.  
  2778. even go back to the main DSHELL process but do not try to run
  2779. two Change Profile sessions at the same time!
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836. Copyright 1991 (C) D. G. Dempsey                                         Page 43
  2837.  
  2838.  
  2839.  
  2840.  
  2841.                                DSHELL Version 4.0                               
  2842.  
  2843.  
  2844. Menu Colors - Setting the Screen Colors
  2845.  
  2846. DSHELL is a DESQview specific process and its screen colors can
  2847. either be defined by the DESQview SETUP program or by the
  2848. ATTRIBUTE command within DSHELL.  There are eight different
  2849. fields that can be displayed in different colors and intensities
  2850. within DSHELL (see the ATTRIBUTE command for the eight fields)
  2851. to differentiate between files, directories, and menus for
  2852. instance.
  2853.  
  2854. The menu Colors offers three choices for the color set: (1) use
  2855.                      +----------------+
  2856.                      |Colors          |
  2857.                      | use Desqview   |
  2858.                      | use Standard   |
  2859.                      | use Current    |
  2860.                      | Modify current |
  2861.                      | View current   |
  2862.                      | Help           |
  2863.                      +----------------+
  2864. the DESQview Default colors (no ATTRIBUTE commands in
  2865. PROFILE.SHL), (2) use the Standard DSHELL color set (picks a
  2866. "nice" set of ATTRIBUTE commands for PROFILE.SHL), and (3) use
  2867. the Current color set (create ATTRIBUTE commands to match
  2868. whatever colors are currently in use).  Assuming you select
  2869. either of the last two options, you can select the View or
  2870. Modify entries to allow you to examine and further change (with
  2871. Modify) the color set. When you select View or Modify, a window
  2872.      +------------------------------------------------+
  2873.      |   Field               Text           Background|
  2874.      |>1 Normal           A Normal            Q Normal|
  2875.      | 2 Directories      B Normal            R Normal|
  2876.      | 3 Volume           C Normal            S Normal|
  2877.      | 4 Options          D Normal            T Normal|
  2878.      | 5 Special Files    E Normal            U Normal|
  2879.      | 6 Selected Fields  F Normal            V Normal|
  2880.      | 7 Menus            G Normal            W Normal|
  2881.      | 8 Help & Misc      H Normal            X Normal|
  2882.      |                    I Normal                    |
  2883.      |                    J Normal                    |
  2884.      |                    K Normal                    |
  2885.      |                    L Normal                    |
  2886.      |                    M Normal                    |
  2887.      |                    N Normal                    |
  2888.      |                    O Normal                    |
  2889.      |(END to exit)       P Normal                    |
  2890.      +------------------------------------------------+
  2891. will appear showing the eight fields and the possible color
  2892. selections.  You can then select the field and appropriate
  2893. foreground and background colors as you desire.  Selections can
  2894. be by keystroke or mouse.  Select or press the END to exit the
  2895. color selection program. Remember that none of the changes you
  2896. make will become effective until you have selected Exit and
  2897. restarted DSHELL.
  2898.  
  2899.  
  2900.  
  2901.  
  2902. Copyright 1991 (C) D. G. Dempsey                                         Page 44
  2903.  
  2904.  
  2905.  
  2906.  
  2907.                                DSHELL Version 4.0                               
  2908.  
  2909.  
  2910. Menu EnvVars - Setting Environment Variables
  2911.  
  2912. Several special shell variables are normally defined in the
  2913. PROFILE.SHL.  These variables are in addition to any DSHELL may
  2914. have inherited from DOS which will not explicitly appear in your
  2915. PROFILE.SHL.  They include:
  2916.  
  2917. ECHO    if defined, causes DSHELL script lines to be listed on
  2918.         stderr (/dev/con) as encountered. Otherwise, no echoing of
  2919.         DSHELL script lines occurs (the opposite of the DOS COMMAND.COM
  2920.         default).  This can be useful for debugging a .SHL script but
  2921.         does clutter up the screens and slow things down.
  2922.  
  2923. PATH    defines command search path, see DOS COMMAND.COM
  2924.         description. Note that, in the DSHELL, this is set as a shell
  2925.         variable, not a special PATH command.  Normally, this variable
  2926.         will be set by DOS in the environment and it will not be
  2927.         necessary to include it in your PROFILE.SHL file explicitly.
  2928.  
  2929. COMSPEC defines location of COMMAND.COM for .BAT files ala DOS.
  2930.         Normally, this variable is inherited from DOS and you need not
  2931.         define it explicitly.  If you do not have it defined in DOS, you
  2932.         may need to define it to get .BAT and other internal DOS
  2933.         commands to work correctly.
  2934.  
  2935. HOME    defines the home directory for cd commands. If omitted, the
  2936.         cd command with no argument will not cause a directory change.
  2937.  
  2938. ESCSPC  defines the character used to escape codes in ECHO and
  2939.         EXPR functions.  If omitted, the backslash (\) is used.
  2940.  
  2941. ESCCMD  defines the character used to escape codes in command
  2942.         line processing.  If omitted, the tilde (~) is used.
  2943.  
  2944. RUN_KEY if defined, full screen menu and history selects by
  2945.         keystroke are executed rather than only copied to the command
  2946.         line.  If you maintain your PROFILE.SHL through the Change
  2947.         Profile program on the SYSTEM menu, this variable is controlled
  2948.         through the OTHER menu and will not explicitly appear in the
  2949.         ENVARS lists.
  2950.  
  2951. SH_DIR  defines the drive and directory which contains the DSHELL
  2952.         files.  You should not change this variable or delete it unless
  2953.         you are VERY confident about what you are doing.  If you
  2954.         maintain your PROFILE.SHL through the Change Profile program on
  2955.         the SYSTEM menu, this variable will not explicitly appear in the
  2956.         EnVars lists.
  2957.  
  2958. DV_DIR  defines the drive and directory which contains the
  2959.         DESQview files.  You should not change this variable or delete
  2960.         it unless you are VERY confident about what you are doing. If
  2961.         you maintain your PROFILE.SHL through the Change Profile program
  2962.         on the SYSTEM menu, this variable will not explicitly appear in
  2963.         the EnVars lists.
  2964.  
  2965. SH_TMP  defines the drive and directory containing the DSHELL
  2966.  
  2967.  
  2968. Copyright 1991 (C) D. G. Dempsey                                         Page 45
  2969.  
  2970.  
  2971.  
  2972.  
  2973.                                DSHELL Version 4.0                               
  2974.  
  2975.  
  2976.         scratch directory.  This is normally the C:\DSHELL\TMP
  2977.         subdirectory.  You can move this to another location by
  2978.         redefining this variable but it is not recommended.
  2979.  
  2980. UNIQUE  set to an eight character name that is unique to that
  2981.         DSHELL task.  This can be used to construct unique filenames for
  2982.         scratch files.  This variable is created by the DSHELL process
  2983.         automatically.
  2984.  
  2985. BACKGROUND      if defined, processes created by DSHELL will be
  2986.         bottom most in the DESQview window stack.  This is most useful
  2987.         for scripts that themselves run as background jobs and do not
  2988.         want to disturb the user with an onslaught of task windows.
  2989.  
  2990. In addition to these variables, you can define any you desire
  2991. for your own use subject the limitation of 2K of environment
  2992. space. Any environment variables you define in the PROFILE.SHL
  2993. will be passed to programs and scripts during your session just
  2994. as they would be in DOS.
  2995.  
  2996. To view the current variable definitions in your profile, select
  2997.                     +-----------------+
  2998.                     |EnvVars          |
  2999.                     | Edit variables  |
  3000.                     | View variables  |
  3001.                     | Add variable    |
  3002.                     | Delete variable |
  3003.                     | Help            |
  3004.                     +-----------------+
  3005. the View entry on the EnvVars menu.  You can select the Add and
  3006. Delete options to add and delete environment variable
  3007. definitions or, to edit the definitions select the Edit entry. 
  3008. The current definitions, with a preamble describing the format
  3009. of environment variables, will appear in your editor for
  3010. editing.  Remember that any entries you add should be on a line
  3011. by themselves (one per line is best) and each line should be
  3012. followed by a newline (blank lines are okay too).  The last menu
  3013. selection, Help, simply describes the others.
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034. Copyright 1991 (C) D. G. Dempsey                                         Page 46
  3035.  
  3036.  
  3037.  
  3038.  
  3039.                                DSHELL Version 4.0                               
  3040.  
  3041.  
  3042. Menu Aliases - Defining Command Aliases
  3043.  
  3044. In addition, the profile should also define any aliases desired
  3045. by the user, such as LF, emulation of COMMAND.COM commands (dir,
  3046. for instance, is really an alias for command /c dir), and other
  3047. commands.  One alias in particular, EDIT, must be defined to be
  3048. the actual command to be used to invoke your text editor.  Many
  3049. aliases are defined in the default PROFILE.SHL built during
  3050. installation.  These may be changed or added to as desired.
  3051.  
  3052. As with the EnvVars menu, you can select View, Add, Delete,
  3053.                     +--------------+
  3054.                     |Aliases       |
  3055.                     | Edit aliases |
  3056.                     | View aliases |
  3057.                     | Add alias    |
  3058.                     | Delete alias |
  3059.                     | Help         |
  3060.                     +--------------+
  3061. Edit, or Help on the Aliases menu.  The behavior is identical
  3062. with the exception that you will be defining aliases with the
  3063. ALIAS command instead of environment variables with the =
  3064. command.
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100. Copyright 1991 (C) D. G. Dempsey                                         Page 47
  3101.  
  3102.  
  3103.  
  3104.  
  3105.                                DSHELL Version 4.0                               
  3106.  
  3107.  
  3108. Menu Defaults - Defining Default Commands
  3109.  
  3110. If you use a mouse and operate DSHELL in full screen mode, you
  3111. may select files with the EXECUTE mouse button, and, depending
  3112. on the file's extension, specify a default command to be
  3113. executed when a file of that type is selected.  See the internal
  3114. command SHMOUSE for information on setting up default commands. 
  3115. Remember that any file extension types which are not covered in
  3116. the default list will be processed by prefixing the file name
  3117. with the command EDIT which (normally invoke your editor to edit
  3118. that file).  It is not possible to change the DSHELL preset
  3119. defaults for executable files and directories.
  3120.  
  3121. Like the EnvVars and Aliases menus, you can select View, Edit,
  3122.                     +---------------+
  3123.                     |Defaults       |
  3124.                     | Edit defaults |
  3125.                     | View defaults |
  3126.                     | Add default   |
  3127.                     | Delete default|
  3128.                     | Help          |
  3129.                     +---------------+
  3130. Add, Delete and Help on the Defaults menu.  You are limited to
  3131. approximately twenty default definitions (too many results in a
  3132. complaint from SHMOUSE during PROFILE.SHL execution).
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166. Copyright 1991 (C) D. G. Dempsey                                         Page 48
  3167.  
  3168.  
  3169.  
  3170.  
  3171.                                DSHELL Version 4.0                               
  3172.  
  3173.  
  3174. Menu Menus - Creating/Changing Your Own Menus
  3175.  
  3176. If you run DSHELL in full screen mode, your drop down menus will
  3177. normally be defined in the PROFILE.SHL script so that they will
  3178. be available for your later use.  The SHMOUSE command is used to
  3179. define first the menu header and then the menu entries for each
  3180. menu.  The initial SYSTEM menu defined in your initial
  3181. PROFILE.SHL can be modified or enhanced by editing them just as
  3182. new menus can be added.
  3183. +-------------------------------------------------------------+
  3184. |Modifying the SYSTEM menu should be avoided if possible,     |
  3185. |however, because a future upgrade to DSHELL might change this|
  3186. |menu, leading to conflicts and manual editing by you to fully|
  3187. |install the upgrade.                                         |
  3188. +-------------------------------------------------------------+
  3189.  
  3190. If you select your menus and menu entries by keystrokes, you
  3191. should have some common method of indicating what keystroke(s)
  3192. select which entries.  For the menus built by the installation
  3193. program in your initial PROFILE.SHL, the capitalized letter(s)
  3194. is generally that keystroke but you can choose any memory jogger
  3195. you prefer.
  3196.  
  3197. When you first drop the Menus menu, it offers the selection of
  3198.                     +-------------------+
  3199.                     |Menus              |
  3200.                     | select 1 SYSTEM   |
  3201.                     | select 2 General  |
  3202.                     | select 3 (Unknown)|
  3203.                     | select 4 (Unknown)|
  3204.                     | select 5 (Unknown)|
  3205.                     | select 6 (Unknown)|
  3206.                     | select 7 (Unknown)|
  3207.                     | Help              |
  3208.                     +-------------------+
  3209. which of the seven menus you wish to work on (the selections
  3210. labeled "unknown" correspond to menus you have not yet defined).
  3211. Select which of the seven you wish to work on by number or
  3212. mouse, and, if that menu has not yet been defined, you will be
  3213. prompted for a suitable 8 character title for that menu.  Once
  3214. you have selected a particular menu (1 for SYSTEM in this
  3215. example), the Menus menu (we got too many "menus" here!) offers
  3216.                     +------------------+
  3217.                     |Menus             |
  3218.                     | Unselect 1 SYSTEM|
  3219.                     | Change menu title|
  3220.                     | Remove menu      |
  3221.                     | Edit menu        |
  3222.                     | View menu        |
  3223.                     | Add menu entry   |
  3224.                     | Delete menu entry|
  3225.                     | Help on menus    |
  3226.                     +------------------+
  3227. the options of Unselecting the chosen menu (so you can work on
  3228. other menus), Changing the menu's title, Deleting the menu
  3229. entirely, Editing the menu's selections, Adding menu entries,
  3230.  
  3231.  
  3232. Copyright 1991 (C) D. G. Dempsey                                         Page 49
  3233.  
  3234.  
  3235.  
  3236.  
  3237.                                DSHELL Version 4.0                               
  3238.  
  3239.  
  3240. Deleting menu entries and Viewing the menu's selections are the
  3241. options offered on this menu.
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298. Copyright 1991 (C) D. G. Dempsey                                         Page 50
  3299.  
  3300.  
  3301.  
  3302.  
  3303.                                DSHELL Version 4.0                               
  3304.  
  3305.  
  3306. The Menu Other - General and User Custom Operations
  3307.  
  3308. The PROFILE.SHL script is the ideal place for creating any other
  3309. processes that you normally wish to have running whenever DSHELL
  3310. is running.  The optional provided SPOOLER program is an example
  3311. but, depending on your needs, you can start others.
  3312.  
  3313. CAUTION:  Unless you want the process(es) to run to completion
  3314. before getting a command prompt (or do not wish to ever get a
  3315. DSHELL command prompt!), start these processes in background
  3316. (i.e., with a & after the command).
  3317.  
  3318. The Other menu offers options for Enabling/Disabling the spooler
  3319.                     +-------------------+
  3320.                     |Other              |
  3321.                     | >>Autoload spooler|
  3322.                     | >>Run on keyselect|
  3323.                     | >>start Fullscreen|
  3324.                     | >>left eXecute    |
  3325.                     | edit User section |
  3326.                     | Help on other     |
  3327.                     +-------------------+
  3328. (usually the spooler is used for queuing printer operations but
  3329. you can use for any commands you want done one at a time
  3330. sequentially), selecting the option of Running keyboard selected
  3331. menus entries on keystroke selection (or requiring an additional
  3332. eNter keystroke to begin their execution), and starting DSHELL
  3333. in Full screen or Command line mode.  The final selection, EDIT
  3334. User section, allows you to setup and edit a section with your
  3335. custom commands (such as automatic process startups discussed
  3336. earlier in this section).
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.  
  3364. Copyright 1991 (C) D. G. Dempsey                                         Page 51
  3365.  
  3366.  
  3367.  
  3368.  
  3369.                                DSHELL Version 4.0                               
  3370.  
  3371.  
  3372. Menu ExitHelp - Completing/Aborting the Changes
  3373.  
  3374. After you have completed making your changes using the first six
  3375. menus, you must select the seventh menu, ExitHelp, to complete
  3376.                     +-------------------+
  3377.                     |ExitHelp           |
  3378.                     | Exit, new profile |
  3379.                     | Drop changes, exit|
  3380.                     | Help              |
  3381.                     +-------------------+
  3382. the process.  Select Exit to make your changes official or Drop
  3383. to forget them and just quit.  If you do not do this, the
  3384. changes will not become effective and will be lost the next time
  3385. you invoke Change Profile.  Again, remember that you must exit
  3386. DSHELL and re-invoke it to see the effect of any changes in
  3387. PROFILE.SHL.
  3388. +----------------------------------------------------------------+
  3389. |Warning:  DO NOT attempt to re-execute PROFILE.SHL from your    |
  3390. |command line - some operations usually defined there do not like|
  3391. |to be done twice and may misbehave if you attempt the           |
  3392. |re-execution.                                                   |
  3393. +----------------------------------------------------------------+
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430. Copyright 1991 (C) D. G. Dempsey                                         Page 52
  3431.  
  3432.  
  3433.  
  3434.  
  3435.                                DSHELL Version 4.0                               
  3436.  
  3437.  
  3438. Common Questions/Problems
  3439.  
  3440. Any program like this is bound to have a few "unfixable" bugs.
  3441. Among the most noticed are the following "features".
  3442.  
  3443. Program Startup Problems
  3444.  
  3445.         Some programs are very particular about their invocation and, if
  3446.         invoked by the DSHELL, will act strangely about identifying
  3447.         their arguments or report insufficient memory.  These programs
  3448.         generally do not load successfully when using the EXEC function
  3449.         in DOS (which is used by DSHELL loaders to load other programs).
  3450.         DOS external commands, such as format, diskcopy and sort, are
  3451.         particularly fussy in some DOS implementations.  If you
  3452.         encounter this problem, the most frequent solution is to invoke
  3453.         the command through an alias such as command /c format or,
  3454.         better yet, an appropriate SPAWNPIF.SET entry.  This forces the
  3455.         program to be loaded by command.com which usually satisfies
  3456.         these programs.
  3457.         
  3458.         How do I determine if a program needs special treatment (like a
  3459.         special .DPF or SPAWNPIF entry)? -- The easiest solution is try
  3460.         it and see if it misbehaves (does not run, blows up, writes all
  3461.         over the screen in a small window (not likely on 80386 or later
  3462.         processors), etc.).  If it does misbehave (and assuming the
  3463.         program can be run under DESQview), then you have two options:
  3464.         (1) create a special .DPF with an associated SPAWNPIF entry (see
  3465.         the section Controlling the Process Environment) for that
  3466.         program, or (2) if you already have a DESQview menu entry to run
  3467.         that program, just  start the program by typing the  DESQview
  3468.         PIF filename  (XX-PIF.DVP) where XX selects the program from the
  3469.         DESQview menu.  In the second case, you may have to prefix the
  3470.         PIF filename with the DESQview directory path if your PATH does
  3471.         not include the DESQview directory.  Generally, if option 2
  3472.         works, you can do option 1 by creating the appropriate .DPF
  3473.         using the ADD SPAWN menu in the FILE OPERATIONS menus. 
  3474.         Exceptions are usually programs requiring special DESQview
  3475.         provided loaders which are probably best left to the second
  3476.         option.
  3477.         
  3478.         My graphics mode programs don't run in background --  Many
  3479.         combinations of  video adaptors, DESQview version, and
  3480.         particular graphics mode programs seem to work reliably only
  3481.         when restricted to foreground execution.  For that reason, the
  3482.         default 00-PIF.DPF environment prohibits virtual operation when
  3483.         a program is in a graphic video mode.  Assuming your system does
  3484.         not have that problem (trying is the only way to tell!), you can
  3485.         get background execution by changing the  "Virtualize Graphics"
  3486.         option in the default .DPF (go to FILE OPERATIONS - DSHELL -
  3487.         EDITPIF menu and select the 00-pif.dpf file to change).  One
  3488.         word of caution -- sometimes everything is fine when only one
  3489.         graphics mode program is running but problems ensue (lockups!)
  3490.         when two are running.
  3491.         
  3492.         My programs don't run in background -- If you have a 8088, 8086,
  3493.         80286 or other pre-80386 processor, or if you are not using an
  3494.  
  3495.  
  3496. Copyright 1991 (C) D. G. Dempsey                                         Page 53
  3497.  
  3498.  
  3499.  
  3500.  
  3501.                                DSHELL Version 4.0                               
  3502.  
  3503.  
  3504.         EMS capable of supporting DESQview screen virtualization, the
  3505.         default PIF (00-pif.dpf) setup by DSHELL will not run in
  3506.         background because DESQview is unable to virtualize the screen. 
  3507.         Only programs which do not write directly to the screen can be
  3508.         safely run in background in your situation.  The best solution
  3509.         would be to acquire a 80386 or later system (or change to one of
  3510.         Quarterdeck's QEMM EMS products that supports screen
  3511.         virtualization if that's the problem).  If you cannot do that,
  3512.         you can still get your well-behaved programs (see your DESQview
  3513.         manual for that definition) to run in background by telling
  3514.         DSHELL to use a PIF for those programs that does not ask for
  3515.         screen virtualization.  To do, go to the File Operations menus,
  3516.         Tag all programs that satisfy the well-behaved criteria (if they
  3517.         are in various directories, tag the ones in each directory
  3518.         before going to the next directory), then drop the DSHELL menu
  3519.         and execute the "Tagged -> spawnpif" entry.  A new menu will
  3520.         appear to handle the options for adding programs (what you have
  3521.         tagged) to the special treatment spawn list.  Execute the line
  3522.         "Current  dpf 00" to change the PIF.  A list of the current PIFs
  3523.         available and "New" will appear.  Click the "New" line with the
  3524.         mouse EXECUTE button.  When the DESQview Edit Pif screen
  3525.         appears, change the lines "Writes text directly to screen",
  3526.         "Displays graphics information" and "Virtualize text/graphics"
  3527.         (the latter only if it appears in your system) to N for no. 
  3528.         Press ENTER to complete the PIF edit.  When the
  3529.         "Tagged->spawnpif" menu reappears (it will show the number of
  3530.         your new PIF), execute the line "Save changes, exit" to complete
  3531.         the operation.  Those programs should now run in background. 
  3532.         You can add additional programs latter, just re-use the same PIF.
  3533.         
  3534.         QEMM errors while running DSHELL with STEALTH -- If you have
  3535.         upgraded to QuarterDeck's QEMM 6.0 and activated the STEALTH
  3536.         feature, you may get a QEMM fault when DSHELL performs some disk
  3537.         I/O operations.  Follow the QEMM suggested fix of adding the
  3538.         parameter "DBF=2" (the suggestion) to the QEMM startup line in
  3539.         your CONFIG.SYS file.  QEMM in STEALTH mode does not support
  3540.         direct I/O to the EMS page frame without that parameter.
  3541.         
  3542.         Microsoft Windows does not start from commad line (typing "win")
  3543.         -- Under DESQview, Windows requires special treatment and
  3544.         sometimes a special loader to run properly.  It is easiest to
  3545.         start Windows using the DESQveiw OPEN menu or by invoking its
  3546.         DESQview provided PIF (usually c:/dv/w3-pif or c:/dv/wr-pif) at
  3547.         the DSHELL command line.
  3548.         
  3549.         Program aborts when used with an inter-process pipe -- When a
  3550.         process is started with piped input or piped output, it must
  3551.         for the other process to startup (the process at the other end
  3552.         of the pipe).  If the other process does not successfully start,
  3553.         or if your machine is delayed by some very slow activity, the
  3554.         waiting process will eventually timeout and report the failure.
  3555.         Check the other process to see why it failed or was so slow to
  3556.         start up.  Slow operations can sometimes be due to other jobs
  3557.         tying up the disks, preventing new processes from loading.
  3558.         This is especially noticeable on some machines when doing
  3559.         heavy floppy disk I/O.
  3560.  
  3561.  
  3562. Copyright 1991 (C) D. G. Dempsey                                         Page 54
  3563.  
  3564.  
  3565.  
  3566.  
  3567.                                DSHELL Version 4.0                               
  3568.  
  3569.  
  3570.  
  3571. Some Command Parameters/Filenames Don't Work
  3572.  
  3573.         Programs don't work on filenames containing certain characters
  3574.         (like $ , ~ and ') -- The DSHELL command interpreter is seeing
  3575.         the special characters, which have special meaning to it, and
  3576.         changing the filename in the process.  To prevent this, enclose
  3577.         the filename with CNTRL X and CNTRL Y as you type it (the
  3578.         control characters appear as up and down arrows on the screen
  3579.         respectively).  That will prevent the command interpreter from
  3580.         seeing the special characters and clobbering the filename (the
  3581.         two CNTRL characters are not passed to your program).  Note that
  3582.         this is generally not needed when invoking from the predefined
  3583.         menus -- their scripts or menu commands have included the
  3584.         delimiters already.
  3585.         
  3586.         The command "dir/w" does not work -- DSHELL does not consider
  3587.         the "/" to be a field separator.  It will inteprete the command
  3588.         as look for "w" in the "dir" directory.  Type "dir /w" (with the
  3589.         space) instead.  Also, beware of passing DOS programs pathnames
  3590.         with "/" instead of "\" as the path separators.  DSHELL is happy
  3591.         with either as are many DOS programs but some are not.
  3592.  
  3593. Screen Display Problems
  3594.  
  3595.         When program "xxx" runs, I get text in other windows or that
  3596.         stays on the screen after the program ends -- Programs which
  3597.         write directly to the screen (bypassing the DOS or BIOS
  3598.         routines) can not be run cleanly in DESQview with TEXT
  3599.         VIRTUALIZATION turned off (or on pre-80386 processors without a
  3600.         special DESQview loader).  If you are using a special .DPF (or
  3601.         have modified the supplied default 00-PIF.DPF), you must have
  3602.         TEXT VIRTUALIZATION marked YES to run those programs cleanly on
  3603.         a 386 style processors.  For 286 or early processor types,
  3604.         contact DESQview about the availability of a loader for your
  3605.         program.
  3606.         
  3607.         After I finish running a graphics display program, my DSHELL
  3608.         display is half off the screen -- Sometimes, when changing video
  3609.         modes to accommodate graphics display programs, DESQview changes
  3610.         the size and position of other processes' windows.  When that
  3611.         happens, you can ZOOM the window (DESQ key followed by Z) to
  3612.         recover the window or do a window move and resize.
  3613.  
  3614. Printer Problems/Questions
  3615.  
  3616.         I have changed my printer, how do I redefine the formAt options?
  3617.         -- To define a new printer type on a port (such as PRN) that
  3618.         you have previously defined a printer for, you must go to the
  3619.         DSHELL temp directory (normally C:\DSHELL\TMP) and remove the
  3620.         "DEVdir" directory (like prndir) for that port.  Then go to the
  3621.         File Operations-Print menu and define your new printer.
  3622.         
  3623.         My printer is not on the formAt list (or does not work with the
  3624.         type picked on that list) -- If your printer is not listed, use
  3625.         the closest that works (Generic is the same as DOS's print).
  3626.  
  3627.  
  3628. Copyright 1991 (C) D. G. Dempsey                                         Page 55
  3629.  
  3630.  
  3631.  
  3632.  
  3633.                                DSHELL Version 4.0                               
  3634.  
  3635.  
  3636.         While the printer types shown are believed to work, the options
  3637.         are based on formats received from other users and cannot be
  3638.         guaranteed.  You can add new printers (and options for existing
  3639.         printers) by modifying the file PRINTERS.LST in the INSTALL
  3640.         directory (the format is printer name (no spaces), the word
  3641.         "prtcat", the driver name (generally "prtcat" again except for
  3642.         postscript printers) followed by pairs of the format filename
  3643.         and format setup string (as an argument to the ECHO command)).
  3644.         If you do navigate through adding a new printer type and send
  3645.         me the modified PRINTERS.LST file, I'll add it to our list and,
  3646.         provided you are a registered DSHELL owner, send you a free
  3647.         update of DSHELL.
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.  
  3655.  
  3656.  
  3657.  
  3658.  
  3659.  
  3660.  
  3661.  
  3662.  
  3663.  
  3664.  
  3665.  
  3666.  
  3667.  
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694. Copyright 1991 (C) D. G. Dempsey                                         Page 56
  3695.  
  3696.  
  3697.  
  3698.  
  3699.                                DSHELL Version 4.0                               
  3700.  
  3701.  
  3702. License Agreement and Support
  3703.  
  3704. The version of DSHELL uploaded herein is a shareware version
  3705. intended for evaluation purposes.  This version has all the
  3706. functionality described in this manual.  The user assumes all
  3707. responsibility for the use and results of using this evaluation
  3708. software.  You may use this evaluation software for your
  3709. personal evaluation and unsupported use but not for commercial
  3710. purposes (i.e., sale).  If you desire a supported version, see
  3711. the next paragraph.  You may pass this evaluation version on  
  3712. to others for their personal evaluation provided it is passed
  3713. unchanged and its in entirety and no significant charge is
  3714. associated with the passing.
  3715.  
  3716. If you find DSHELL useful, a single user license is available
  3717. for a license fee of $50.00 which includes both the latest
  3718. version of the software and a printed manual.  The license also
  3719. entitles the registered user to upgrades to new versions of the
  3720. DSHELL program and reasonable support on DSHELL related problems.
  3721.  
  3722. The DSHELL software (Copyright (C) 1991, 1992 D. G. Dempsey, All
  3723. Rights Reserved) remains the property of the author.  The
  3724. license grants the registered user the right to (1) make
  3725. archival copies as necessary, and (2) use the software on one
  3726. machine (or multiple machines provided only one machine with the
  3727. software is active at any one time).  The registered user, by
  3728. the act of acquiring the license, assumes all responsibility for
  3729. the use and results of using the DSHELL software, and agrees
  3730. that the author's responsibility for any liability related to
  3731. this software shall be limited solely to the refund of the
  3732. license fee upon return of said software.
  3733.  
  3734. A registered user can obtain an upgrade to the latest version of
  3735. DSHELL software by either (1) by sending $15.00 to the author, or
  3736. (2) by sending the original disk and a suitable self-addressed
  3737. prepaid disk mailer to the author.
  3738.  
  3739. To become a registered user and obtain a fully functional
  3740. current copy of the DSHELL software and manual, print and complete
  3741. the LICENSE.FRM form in the accompanying file.  Send the
  3742. completed form, indicating the format of disk desired (1.2M 5.25
  3743. inch or 720K 3.5 inch), accompanied by a U.S. bank check or
  3744. money order for the appropriate amount to the author:
  3745.  
  3746.         D. G. Dempsey
  3747.         P. O. Box 873
  3748.         Bedford, TX 76095
  3749.  
  3750. Please allow four weeks for delivery.  Texas residents should
  3751. include appropriate sales tax (currently 7.75%).
  3752.  
  3753. If you have questions or problems, you can get assistance by
  3754. sending mail on the COMPUSERVE system to the author at
  3755. Compuserve address 70701,1726.
  3756.  
  3757.  
  3758.  
  3759.  
  3760. Copyright 1991 (C) D. G. Dempsey                                         Page 57
  3761.  
  3762.  
  3763.  
  3764.  
  3765.                                DSHELL Version 4.0                               
  3766.  
  3767.  
  3768.                         Table of Contents
  3769.                         
  3770. The following lists the table of contents for the full DSHELL manual.
  3771. Sections included in the uploaded abbreviated version are marked with
  3772. an asterisk (*).
  3773.  
  3774. Introduction to DSHELL                                                  *
  3775. About This Manual                                                       *
  3776.         Installing DSHELL                                               *
  3777.         System Requirements                                             *
  3778.         Performing the DSHELL Installation                              *
  3779. DSHELL Tutorial                                                         *
  3780.         Managing the DSHELL Screen Display                              *
  3781.         Normal Mode                                                     *
  3782.         Full Screen Mode                                                *
  3783.         Running Under DESQview/DSHELL Versus Running Under DOS          *
  3784.         Entering and Executing Commands                                 *
  3785.         Using Full Screen Mode                                          *
  3786.         Executing Files and Directories with a Mouse                    *
  3787.         Executing/Selecting Command History Entries                     *
  3788.         Menu Operations                                                 *
  3789.         Using Menus - The SYSTEM Menu                                   *
  3790.         DISK OPERATIONS Menus                                           *
  3791.         FILE OPERATIONS Menus                                           *
  3792.         FILE OPERATIONS - Tag Menu                                      *
  3793.         FILE OPERATIONS - Tag Ops Menu                                  *
  3794.         FILE OPERATIONS - DSHELL Menu                                   *
  3795.         Example 1:  Formatting a Floppy Disk                            *
  3796.         Example 2:  Copying Files and Directories                       *
  3797.         Example 3:  Defining a Default Command                          *
  3798.         Example 4:  Defining a Menu                                     *
  3799.         Example 5:  Running a DSHELL Command From DOS                   *
  3800. How DSHELL Works                                                        *
  3801. Command Lines, Screens and Menus 
  3802.         Normal Mode - Memories of DOS 
  3803.         Full Screen Mode 
  3804.                 The Current Directory Display - Default Commands
  3805.                 The Command History Display
  3806.                 Using Menus 
  3807. DSHELL Scripts and DOS Batch Files
  3808.         DSHELL Scripts - .SHL Files 
  3809.         DOS Batch Scripts - .BAT Files  
  3810. DSHELL Operations 
  3811.         Command Line Entry and Editing
  3812.         Environment Variables and Substitutions 
  3813.         Flow Control - FOR, IF and SWITCH Commands
  3814.         Embedded Commands
  3815.         Command Line Parsing and Aliases
  3816.         Selecting Foreground or Background Execution 
  3817.         Inter-Process Pipes 
  3818.         Internal Commands 
  3819.         External Commands - Running Programs and Scripts
  3820.                 Search Path
  3821.                 Executing *.DVP Files
  3822.                 Executing *.SHL Scripts
  3823.                 Executing *.BAT Scripts
  3824.  
  3825.  
  3826. Copyright 1991 (C) D. G. Dempsey                                         Page 58
  3827.  
  3828.  
  3829.  
  3830.  
  3831.                                DSHELL Version 4.0                               
  3832.  
  3833.  
  3834.                 Executing *.COM and *.EXE Files
  3835.         Post Command/Command Line Processing
  3836. Controlling the Process Environment
  3837.         Controlling the Virtual Machine
  3838.                 The Process Description - DSHELL .DPF Files
  3839.                 Mapping Programs to .DPF Files - SPAWNPIF.SET File
  3840.         Setting a Program's Environment Variables
  3841.         Disk Paths 
  3842.         Hard Disks
  3843.         Floppy Disks
  3844.         Setting the DESQview Window and Title
  3845. Tracking Processes
  3846.         Process IDs - Parents and Children
  3847.         Getting the Program's Return Code
  3848. Inter-Process Communications
  3849.         Sending Keystrokes to a Process
  3850.                 To a Child Process
  3851.                 To the Current Foreground Process
  3852.         Sending/Receiving Inter-Process Messages
  3853.                 With DSHELL Scripts - .SHL Files
  3854.                 With DESQview Specific Programs
  3855.         Inter-Process Pipes
  3856.                 Redirection of STDIN and STDOUT
  3857.                 Named Pipes
  3858.         Controlling Resources - Semaphores
  3859. DSHELL Startup - PROFILE.SHL                                            *
  3860.         Menu Colors - Setting the Screen Colors                         *
  3861.         Menu EnvVars - Setting Environment Variables                    *
  3862.         Menu Aliases - Defining Command Aliases                         *
  3863.         Menu Defaults - Defining Default Commands                       *
  3864.         Menu Menus - Creating/Changing Your Own Menus                   *
  3865.         The Menu Other - General and User Custom Operations             *
  3866.         Menu ExitHelp - Completing/Aborting the Changes                 *
  3867. Common Questions/Problems                                               *
  3868.         Program Startup Problems                                        *
  3869.         Some Command Parameters/Filenames Don't Work                    *
  3870.         Screen Display Problems                                         *
  3871. License Agreement and Support                                           *
  3872. DSHELL COMMANDS
  3873.         ACQUIRE - Acquire semaphore ownership
  3874.         ALIAS - Define an alias for a command
  3875.         ATTRIBUTE - Set screen colors 
  3876.         BACK - Move process to background 
  3877.         BUTTON - Define mouse button usage 
  3878.         CAT - Type/concatenate files 
  3879.         CD - Change disk and/or directory 
  3880.         CHMOD - Change file attributes 
  3881.         CLS - Clear window 
  3882.         CP - Copy files/directories 
  3883.         DATE - Display/set date 
  3884.         DOT (.) - Run .SHL script in current process 
  3885.         DSHELL - Issue DSHELL command from DOS/program 
  3886.         DUMP - Show file in hex 
  3887.         DVJOB - Set DESQview window parameters 
  3888.         ECHO, ECHON - Display text 
  3889.         EDITOR - Support multifile editors 
  3890.  
  3891.  
  3892. Copyright 1991 (C) D. G. Dempsey                                         Page 59
  3893.  
  3894.  
  3895.  
  3896.  
  3897.                                DSHELL Version 4.0                               
  3898.  
  3899.  
  3900.         EXIT - Exit a .SHL script 
  3901.         EXPR - Evaluate arithmetic/string compare 
  3902.         FFIND - Find files/directories 
  3903.         FILENAME - Add path to filename 
  3904.         FOR, BREAK, DONE - Loop over values/forever 
  3905.         FORE - Make a process foreground 
  3906.         IF, AND, ELSE, FI - Conditional commands 
  3907.         IGNORE - Ignore error exits 
  3908.         LINE - Read line from keyboard/file 
  3909.         LS, LF - List directories 
  3910.         MAILBOX - Name a mailbox 
  3911.         MEMORY - Report memory usage 
  3912.         MKDIR - Make directories 
  3913.         MV - Move/Rename files/directories 
  3914.         PAUSE - Wait operator permission 
  3915.         PIDNAME - Get DESQview taskhandle 
  3916.         PRINT - Spool files to printer 
  3917.         PUSHKEY - Send keys to foreground process 
  3918.         PUTKEY - Send keys to specified process 
  3919.         PWD - Show current directory 
  3920.         PWDS - Show current directory without slash 
  3921.         QUERY - Get current window parameters 
  3922.         READMAIL - Read inter-process mail 
  3923.         RELEASE - Release a semaphore 
  3924.         REMOVE - Friendly file/directory removal 
  3925.         RM - Remove files/directories 
  3926.         RMDIR, RD - Remove directories 
  3927.         SENDMAIL - Send inter-process mail 
  3928.         SET - Redefine .SHL parameters 
  3929.         SETSCREEN - Set window for next process 
  3930.         SETTITLE - Set title for next process 
  3931.         SH - Start another DSHELL process 
  3932.         SHELL VARIABLE - Environment variables 
  3933.         SHIFT - Shift .SHL arguments 
  3934.         SHMOUSE - Define menus/command defaults 
  3935.         SHUSER - Convert .SHL script to user mode 
  3936.         SLEEP - Sleep/Wait for specified time 
  3937.         SOUND - Make a sound 
  3938.         SPOOLER - Start print/command spooler 
  3939.         SWITCH, CASE, EXITSWITCH, ENDSWITCH - Conditionals 
  3940.         TEST - Test argument/file properties 
  3941.         TIME - Get/set time of day 
  3942.         TOUCH - Change file timestamp 
  3943.         TRUE - Always true 
  3944.         UNFLOPPY - Forget/unmount floppies 
  3945.         VIEW - File viewer 
  3946.         WAIT - Wait process complete/exit code 
  3947.         WC - Count words, lines, characters in files 
  3948. Appendix A:  PUSHKEY/PUTKEY SPECIAL CODES 
  3949. Appendix B:  Video Attribute Mapping 
  3950.  
  3951.  
  3952.  
  3953.  
  3954.  
  3955.  
  3956.  
  3957.  
  3958. Copyright 1991 (C) D. G. Dempsey                                         Page 60
  3959.  
  3960.  
  3961.